Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18
  1. #11
    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.

  2. #12
    Originariamente inviato da Gianni_T
    mi sa che non si può raggruppare su un campo proveniente da un conteggio
    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.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #13
    Ciò che mi interessa riesco a farlo con:

    codice:
    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
    Ma non posso usare le subquery

    mi sa che mi devo arrendere

  4. #14
    prova con una tabella temporanea.... sostituisci la subquery con quella.
    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;
    dovrebbe funzionare.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #15
    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?


  6. #16
    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?

    direi di si ... guarda che fa le stesse cose della query annidata... niente di piu' o di meno. Solo una chiamata in piu'.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #17
    Originariamente inviato da Gianni_T
    Con una subselect lo saprei fare ma MySQL 4.0 non le supporta
    Ecco è questo il punto: visto che MySQL non supporta le subselect devi per forza fare 2 query.

  8. #18
    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.