Mailinglisten-Archive |
Michael Borchers schrieb: >>> 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 >>> >>> Hi Sebastian! >>> Mit Deiner Query bekomme ich ja schon einmal jeden einzelnen Tag als >>> einzelne Reihe - perfekt! >> >> Tag und Status >> >> tag - status - count >> >> 01 1 32 >> 01 3 16 >> 02 1 18 >> 03 2 10 >> ... >> >> sprich: >> 32 mal Status 1 am Tag 1 >> 16 mal Status 3 am Tag 1 > > Ja, aber durch den GROUP BY erhalte ich immer nur jeden Tag einmal;) ich weis ja nciht was du machst, aber bei erhalte ich jeden Tag so oft wie verschieden Zustände (status) ich habe an diesem Tag ... CREATE TABLE IF NOT EXISTS `bar` ( `date` date NOT NULL, `status` int(11) NOT NULL, `foo` int(11) NOT NULL, KEY `date` (`date`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `bar` VALUES ('2007-07-27', 2, 0), ('2007-07-27', 1, 0), ('2007-07-27', 3, 0), ('2007-07-27', 1, 0), ('2007-07-28', 3, 0), ('2007-07-28', 4, 0), ('2007-07-28', 3, 0), ('2007-07-28', 3, 0), ('2007-07-29', 2, 0), ('2007-07-30', 1, 0); SELECT DAYOFMONTH(`date`) AS `day`, `status`, COUNT(`foo`) AS `count` FROM `bar` GROUP BY DAYOFMONTH(`date`), `status`; day status count 27 1 2 27 2 1 27 3 1 28 3 3 28 4 1 29 2 1 30 1 1
php::bar PHP Wiki - Listenarchive