SQLで月別件数取得

3 月 19th, 2007 in Programming, SQL

BLOGとかで月別アーカイブを作るときにUNIXタイムスタンプから月別件数取得する方法.ここのBLOGの月別アーカイブを作るときに使ったのでメモ.

テーブル用意

今回は単純にidとタイムスタンプ(フィールド名time)だけの構造とします.
サンプルデータは

id time
1 1162837923
2 1166144389
3 1167482794
4 1172428965
5 1172495938
6 1173296727
7 1173629185
8 1174167275
9 1174168986

な感じで

月別件数取得のSQL文

GROUP BYがポイントか.

SELECT FROM_UNIXTIME( time, '%Y-%m' ) AS ym, COUNT( * ) AS count
FROM test_table
GROUP BY ym
ORDER BY ym DESC

FROM_UNIXTIMEが対応しているのはMySQL?とか(現在調査中...)?
次のように返ってきます

ym count
2007-03 4
2007-02 2
2006-12 2
2006-11 1

FROM_UNIXTIME( time, ‘%Y-%m’ )のところを替えるといろいろ応用できそう.てか常識だったか??

Leave a Reply

Search

Blog

Twitter

Wassr

Recommend


とりあえず買っとく?

Ads

ドミノ・ピザ 5%OFF!

 iTunes Store(Japan)

Categories

Tags

Counter

total : 00060017
today : 00000078