Mailinglisten-Archive |
Michael Borchers schrieb:
> Aha! Ich hab es nun etwas "unschön" probiert, in dem ich die Query mit php
> zusammensetze. Das ergibt eine
> gigantische Query bestehend aus diversen COUNT()s. Die Abfrage dauert über
> phpMyAdmin um die 5 Sekunden.
>
> Die Query setzte sich ungefährt wiefolgt zusammen:
> for(alle Tage t des jeweiligen Monats) {
> for(Status s, 5 an der Zahl) {
> SELECT
> COUNT(foo) FROM bar WHERE DAYOFMONTH(date) = t
> AND status = s
> AS (individueller Name wie count_s_t)
> }
> }
was spricht gegen:
SELECT
DAYOFMONTH(`date`),
`status`,
COUNT(`foo`) AS `count`
FROM
`bar`
WHERE
YEARMONTH(`date`) = [yyyymm]
AND
`status` IN ([die gewünschten Zustände, oder alle?])
GROUP BY
DAYOFMONTH(`date`),
`status`
eventuell noch mit ROLLUP wenn benötigt
--
Sebastian
php::bar PHP Wiki - Listenarchive