• ベストアンサー

timestamp型のgroup

お世話になります。 以下のようなデータがあります。 +--------+------+---------------------+-------+---------------------+ | db_num | spid | page | count | date | +--------+------+---------------------+-------+---------------------+ | 44 | 3 | /e/list.html | 171 | 2006-03-26 23:58:25 | | 45 | 3 | /e/item_list.html | 272 | 2006-03-26 23:59:49 | | 46 | 3 | /i/guide.html | 1 | 2006-03-26 19:36:03 | | 47 | 3 | /e/item.html | 711 | 2006-03-26 23:59:55 | | 48 | 3 | /i/rule.html | 1 | 2006-03-26 19:36:12 | | 49 | 3 | /i/rule8.html | 1 | 2006-03-26 19:36:25 | | 50 | 3 | /e/sarch_top.html | 27 | 2006-03-26 23:47:03 | | 51 | 3 | /e/kakaku_list.html | 8 | 2006-03-26 23:49:40 | | 52 | 3 | /i/rule17.html | 1 | 2006-03-26 19:36:45 | | 53 | 3 | /e/index.html | 90 | 2006-03-26 23:59:05 | +--------+------+---------------------+-------+---------------------+ 3月の合計countを日にちごとに取得したいのですが、どのようにしたらいいのでしょうか。 ニュアンス的には、 select sum(count) where date like '%2006-03%' order by [3月]; です。 よろしくお願い致しますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

こんなんでどうでしょ? SELECT DATE_FORMAT(`date`,'%Y-%m-%d') AS `日付` ,SUM(`count`) AS `カウント` FROM `テーブル` WHERE `date` BETWEEN '2006-03-01' AND '2006-03-31 23:59:59' GROUP BY `日付` ORDER BY `カウント` DESC;

awazak
質問者

補足

期待した通りの動作はしませんでした。

その他の回答 (1)

回答No.1

日にちごととは、「年月日」でですか? それとも、「年月」ですか? ●年月日 select dt,sum(cnt) from (select `count` as cnt,date(`date`) as dt from t1) as x group by dt; ●年月 select dt,sum(cnt) from (select `count` as cnt,concat(year(`date`),'-',month(`date`)) as dt from t1) as x group by dt;

awazak
質問者

補足

ありがとうございます。 しかし、うまくいきませんでした。

関連するQ&A