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