日時型の列を持つテーブルがあります
select * from mytable group by dateadded
しかし、日時の時間値を無視して日付部分のみを使用するようにグループ化したいと考えています。それから
2013-10-05 12:14:15
2013-10-05 19:15:20
両方とも同じです
2013-10-05 00:00:00
レコードは日ごとにグループ化されます。つまり、1 日に追加されたすべてのレコードが同じグループになります。
日時型の列を持つテーブルがあります
select * from mytable group by dateadded
しかし、日時の時間値を無視して日付部分のみを使用するようにグループ化したいと考えています。それから
2013-10-05 12:14:15
2013-10-05 19:15:20
両方とも同じです
2013-10-05 00:00:00
レコードは日ごとにグループ化されます。つまり、1 日に追加されたすべてのレコードが同じグループになります。
select * from mytable
group by CONVERT(date, dateadded)
juergen の回答は、SQL Server 2008 以降で機能します。SQL Server 2005 以下の場合は、次を使用します。
select * from mytable
group by DATEDIFF(d, dateadded, '1900-01-01')
または、少しハックだが完全に機能する:
select * from mytable
group by convert(int, dateadded)
は と互換性がないため、明らかにこれらの例は実際には機能しません。リストには、 からの式、またはその中の他の式の集約のみが必要です。select *
group by
select
group by