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
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
lasciati ispirare da quest'articolo
http://lnx.dicesare.com/programmazio...-di-risultati/
![]()
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:
ricevo vari erroriCodice PHP:echo $row['sufficiente'];
echo $row['ottimo'];
echo $row['buono'];
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
"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 ...
Ecco la query
gli altri punti nel link non mi sono chiari...l'esempio si basa su due colonne, quella mia è una sola...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'];
}
sei arrivato al punto 5. procedi con i punti 6 e 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.
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.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...![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
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