Olá amigos!!!
Preciso de um select que pegue os 5 cursos que possuem mais alunos, mas estou com sérios problemas pra conseguir rsrsr
O que seriam “sérios problemas para conseguir”? Com operadores como count e limit, e os devidos joins, acredito que dá pra fazer isso tranquilo. Você estudou sobre eles já?
Abraço.
Já estudei e revisei há um tempo, mas não consigo formular essa query
Se você perceber as tabelas tb_alunos e tb_cursos não são diretamente ligadas, existe outras três tabelas entre elas, é isso que está me confundindo.
Se você consegue fazer joins entre 2 tabelas, consegue entre 3, 4, 5 ou mais. O princípio é o mesmo.
Por exemplo, se você quiser saber quais alunos de uma determinada displina, precisaria conectar tb_alunos e tb_dis_cur_sem. Seria algo mais ou menos assim:
select a.alu_nome, b.dis_nome
from tb_alunos a, tb_disciplinas b, tb_alu_disciplinas c
where a.alu_id = c.fk_alunos_id -- "conecta" tb_alunos e tb_alu_disciplinas
and b.dis_id = c.fk_disciplinas_id -- "conecta" tb_alu_disciplinas e tb_disciplinas
Se você quiser contar os alunos das disciplinas, usando a mesma base, precisa só adicionar o count e colocar o agrupamento por disciplina:
select count(*), b.dis_nome
from tb_alunos a, tb_disciplinas b, tb_alu_disciplinas c
where a.alu_id = c.fk_alunos_id -- "conecta" tb_alunos e tb_alu_disciplinas
and b.dis_id = c.fk_disciplinas_id -- "conecta" tb_alu_disciplinas e tb_disciplinas
group by b.dis_nome -- agrupa o count por disciplina
Se você quer só o total de uma disciplina, não precisa da coluna de nome nem do agrupamento, mas precisa adicionar uma verificação a mais:
select count(*)
from tb_alunos a, tb_disciplinas b, tb_alu_disciplinas c
where a.alu_id = c.fk_alunos_id -- "conecta" tb_alunos e tb_alu_disciplinas
and b.dis_id = c.fk_disciplinas_id -- "conecta" tb_alu_disciplinas e tb_disciplinas
and b.dis_nome = 'NOME DA DISCIPLINA'
Obs: não chequei a sintaxe, pode estar errada, mas a ideia é essa aí.
Expanda essas ideias e você conseguirá resolver seu problema inicial.
Abraço.
Ei cara, deu certo aqui, muito obrigado mesmo, você me ajudou muito realmente, melhorou muito minhas ideias, vlwww