Il famoso count nelle query sql "banali"

di il
3 risposte

Il famoso count nelle query sql "banali"

Secondo voi come mai questa query non funziona?
Vorrei contare il numero dei corsi delle matricole A e B non utilizzando la clausola GROUP BY.
Mi sarei aspettato che l'IF conteggiasse il record nel caso la matricola verificasse la condizione, invece conta tutti i record, come mai?
Se invece la condizione non fosse verificata mi sarei aspettato al posto del count che avesse inserito uno zero.
volevo un output di questo genere... invece !!!

matricola nCorsiA nCorsiB
A 4 0
B 0 3

SELECT matricola, IF(matricola='A',
IF(matricola='A', COUNT(*), 0) as nCorsiA,
IF(matricola='B', COUNT(*), 0) as nCorsiB
FROM table;

table

matricola corso dataiscrizione

A informatica ...
A disegno
B tecnologia
A italiano
A meccanica
B italiano
B informatica

3 Risposte

Devi accedere o registrarti per scrivere nel forum
3 risposte