読者です 読者をやめる 読者になる 読者になる

酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

SQLを使って日別で集計する

記事が投稿された日付ごとのデータを収集したいと考えていました。データベースではdatetime型で保存していたため、投稿日時でgruop byしてしまうと下図のように時間まで含めてグループ化されてしまいました。

select PublishTime as "date", count(ArticleId) as "count"
from dbo.NewsArticles
group by PublishTime
order by date desc

f:id:ch3cooh393:20140113134731p:plain

日付ごとでデータをグループ化したい場合には、下記のSQLのようにdatetime型をconvertする必要がありました。

select convert(VARCHAR, PublishTime, 111) as date, count(ArticleId) as 
from dbo.NewsArticles
group by convert(VARCHAR, PublishTime, 111)
order by date desc

f:id:ch3cooh393:20140113134738p:plain

参考