Visualizzazione dei risultati da 1 a 10 su 10

Discussione: problema count query

  1. #1

    problema count query

    Salve


    Avendo un campo di tabella strutturato così

    GIUDIZIO
    ------------------
    SUFFICIENTE
    BUONO
    OTTIMO


    ho bisogno di fare il count di tutti i record che hanno per valore SUFFICIENTE, BUONO, OTTIMO in un unica query

    grazie a tutti

  2. #2

  3. #3
    Grazie per la risposta!


    SELECT COUNT(*) AS sufficiente FROM feed WHERE Giudizio = 'sufficiente'
    UNION
    SELECT COUNT(*) AS buono FROM feed WHERE Giudizio = 'buono'
    UNION
    SELECT COUNT(*) AS ottimo FROM feed WHERE Giudizio = 'ottimo'



    ho provato così, ma niente,

    se con php cerco di visualizzare i risultati cosi:
    Codice PHP:
    echo $row['sufficiente'];
    echo 
    $row['ottimo'];
    echo 
    $row['buono']; 
    ricevo vari errori
    se invece, faccio solamente questo echo:
    echo $row['sufficiente'];

    mi mostra correttamente tutti i valori ma incolonnati uno sotto l'altro

    tipo:
    0
    1
    3

  4. #4
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    "ho provato così, ma niente" non è che sia di gran aiuto...

    Non si capisce se la query non funzioni, se funzioni ma restituisca numeri errati, o se il problema stia nel codice php

    Peraltro ti sei fermato al punto 4 del link suggerito (dove il risultato è, appunto, una colonna con 3 record).... se vuoi invece ottenere un solo record con 3 colonne devi arrivare fino al 7 ...

  5. #5
    Ecco la query
    Codice PHP:
    $result mysql_query("SELECT COUNT(*) AS scadente FROM feed WHERE Giudizio = 'scadente'
                           UNION ALL
                           SELECT COUNT(*) AS adeguata FROM feed WHERE Giudizio = 'adeguata'
                           UNION ALL
                           SELECT COUNT(*) AS buona FROM feed WHERE Giudizio = 'buona'
                           UNION ALL
                           SELECT COUNT(*) AS ottima FROM feed WHERE Giudizio = 'ottima'
                           "
    );


    while(
    $row mysql_fetch_array($result))
    {


    echo = 
    $row['scadente'];



    gli altri punti nel link non mi sono chiari...l'esempio si basa su due colonne, quella mia è una sola...

  6. #6
    sei arrivato al punto 5. procedi con i punti 6 e 7

  7. #7
    sinceramente non ho capito la domanda.

    Cosa contengono i campi SUFFICIENTE BUONO OTTIMO ???

    Una flag 0/1? se si perche' usare tre campi quando ne basterebbe uno solo? Dal tipo di valore si suppone siano mutualmente escludenti nello stesso record.

    Se fosse necessario avere tre campi e questi contenessero solo 0/1 sarebbe sufficiente un sum() per ogni campo per sapere quanti sono.


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

  8. #8
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    C'è un solo campo che si chiama "Giudizio" che può assumere diversi valori (scadente, adeguata, buona, ottima) e si vuole avere il conteggio di quanti record hanno il valore "scadente", quanti "adeguata", etc...

  9. #9
    Originariamente inviato da comas17
    C'è un solo campo che si chiama "Giudizio" che può assumere diversi valori (scadente, adeguata, buona, ottima) e si vuole avere il conteggio di quanti record hanno il valore "scadente", quanti "adeguata", etc...
    Non avevo capito - c.v.d.

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

  10. #10
    Ciao,
    semplicemente:

    SELECT GIUDIZIO, COUNT(*) AS CONTEGGIO
    FROM feed
    GROUP BY GIUDIZIO

    estrae il numero di records presenti in tabella raggruppandoli per GIUDIZIO

    Ciao
    Mik

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.