[Db] incartato col count

Marcello Vezzelli marcello a vezz.it
Lun 18 Dic 2006 14:15:51 CET


Cristiano Verondini ha scritto:
>
>> E' possibile sapere quante pere ho raccolto diviso per mese?
>
> SELECT
>    COUNT(frutto) AS C,
>    DATE_FORMAT(data,'%Y %m') AS DT,
>    frutto
>
> FROM Tabella
>
> GROUP BY DT, frutto
> ORDER BY DT, C DESC
>

Questa è al momento lo stato dell'arte della query del raccoglitore di
frutta.

Ora... altra complicazione...
Il totale dei frutti raccolti ogni mese.

SELECT DATE_FORMAT( data, '%Y %m' ) AS DT, COUNT( * ) AS TOT
FROM frutta
GROUP BY DT
ORDER BY DT

Volendo unirle...

SELECT * FROM
(
    SELECT COUNT( frutto) AS C,
    DATE_FORMAT(data,'%Y %m') AS DT,
    frutto
    FROM frutta
    GROUP BY DT, frutto
    ORDER BY DT, C DESC
)  AS T1
JOIN
(
    SELECT DATE_FORMAT( data, '%Y %m' ) AS DT,
    COUNT( * ) AS TOT
    FROM frutta
    GROUP BY DT
    ORDER BY DT
) AS T2
ON T1.DT=T2.DT
ORDER BY T1.DT,T1.C

E' sensato? C'è modo di far meglio senza la JOIN ?

Ciao
Marcello





Maggiori informazioni sulla lista Db