A questão é, na escola existe varias turmas com alunos de diferentes empresas, dado o um determinado período e seleção de uma ou mais turmas, preciso realizar um SELECT para trazer quantidade total de alunos registrados na escola, agrupando por turma e empresa. Á logica é, se for os alunos forem das empresas -> ('X' e 'Y'), empresas -> ('D' e 'F') somar a quantidade de alunos destas duas empresas, para obter um resultado único, se for alunos da empresa 'P' trazer quantidade total de alunos somente desta empresa, e por ultimo, se forem alunos de qualquer outra empresa, somar a quantidades de alunos total destas empresas, para obter também um único resultado, tudo isto agrupado por turma e empresa.
No momento só conseguir fazer um SELECT que trás a quantidade total de alunos agrupados por turma e empresa. Porem não sei como realizar á somar das quantidade total dos alunos das empresas ('X' e 'Y'), empresas -> ('D' e 'F'), para obter um resultado único delas.
SELECT COUNT(*) AS 'quant_total', empresa, turma FROM alunos WHERE data_matricula >= '2015-03-01' AND data_matricula <= '2015-04-01' AND substr(turma, 1,4) IN ('AAAA') AND situacao = 'AT' GROUP BY empresa, turma
Resultado:
quant_total | empresa | turma
1 | X | AAAA-01
4 | X | AAAA-02
4 | X | AAAA-03
3 | X | AAAA-04
1 | F | AAAA-01
16 | D | AAAA-01
33 | D | AAAA-05
28 | D | AAAA-08
18 | D | AAAA-04
12 | P | AAAA-01
1 | P | AAAA-05
11 | P | AAAA-02
14 | P | AAAA-03
23 | P | AAAA-06
1 | P | AAAA-07
3 | Y | AAAA-01
5 | Y | AAAA-02
4 | Y | AAAA-03
5 | Y | AAAA-04
1 | O | AAAA-02
7 | V | AAAA-02
↧