Originariamente inviato da piero.mac
scusa ... allora fai group by tot ....
e ovviamente conta gli id.... relativi. girala in quel modo...
al limite ci sentiamo dopo... sono in libera uscita...![]()
Originariamente inviato da piero.mac
scusa ... allora fai group by tot ....
e ovviamente conta gli id.... relativi. girala in quel modo...
al limite ci sentiamo dopo... sono in libera uscita...![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
allora raggruppa per esame... o fai una tabella temporanea su cui conteggiare .... provando si vede come aggiustare il tiro mentre cosi' al volo e senza avere la struttura sotto il naso ... diventa solo tentativa.Originariamente inviato da Gianni_T
mi sa che non si può raggruppare su un campo proveniente da un conteggio![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Ciò che mi interessa riesco a farlo con:
Ma non posso usare le subquerycodice:SELECT count(*), tot FROM (SELECT count(esame_id) tot FROM a LEFT JOIN b USING (studente_id) GROUP BY a.studente_id) sub GROUP BY tot![]()
mi sa che mi devo arrendere![]()
prova con una tabella temporanea.... sostituisci la subquery con quella.
dovrebbe funzionare.codice:create temporary table temp SELECT a.studente_id, count(esame_id) tot FROM a LEFT JOIN b USING (studente_id) GROUP BY a.studente_id; SELECT count(*), tot FROM temp GROUP BY tot;
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Volevo evitare di fare 2 query, comunque la cosa è interessante, dovrebbe garantire migliori prestazioni ripetto all'uso di PHP per effettuare il secondo conteggio. Confermi?
![]()
direi di si ... guarda che fa le stesse cose della query annidata... niente di piu' o di meno. Solo una chiamata in piu'.Originariamente inviato da Gianni_T
Volevo evitare di fare 2 query, comunque la cosa è interessante, dovrebbe garantire migliori prestazioni ripetto all'uso di PHP per effettuare il secondo conteggio. Confermi?
![]()
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Ecco è questo il punto: visto che MySQL non supporta le subselect devi per forza fare 2 query.Originariamente inviato da Gianni_T
Con una subselect lo saprei fare ma MySQL 4.0 non le supporta![]()
Query 1:
selezioni tutti gli studenti
Query 2:
selezioni gli studenti con esami
poi fai la differenza e conti il numero di studenti...
una chiavica di metodo, ma mi sembra l'unica strada![]()