日時フィールドがあり、日付の範囲内の8時から9時までのすべてのレコードを日数で数えたいとします。 2012年1月1日から2012年1月3日まで)。例えばSQLを使用して日付範囲内の特定の時間からレコードを1日ごとに数える方法
、私は以下のデータがある場合:
2012-01-01 08:26
2012-01-01 08:40
2012-01-01 09:26
2012-01-01 10:26
2012-01-02 08:06
2012-01-02 09:26
2012-01-02 09:40
2012-01-03 08:30
2012-01-03 10:26
結果は次のようになります。
2012-01-01 2
2012-01-02 1
2012-01-03 1
EDIT:ここに が、私は解決策を@gbn使用して得たものであるが(それが動作します私のため)
SELECT COUNT(*), convert(varchar(10),ScanDate,101)
FROM tblSingleBox (nolock)
WHERE DATEPART(Hour, scandate) = 8
and (scandate>='01/03/2012' and scandate<'01/05/2012')
GROUP BY convert(varchar(10),ScanDate,101)
order by convert(varchar(10),ScanDate,101)
RDBMSをあなただけのMS SQL Serverの言ったので、それはのようなより多くのでしょうか?どのバージョン? –
とは08:00:00.000〜08:59:59.999のことですか?つまり、09:00を含めますか? – gbn
SQL Server 2005、およびはい8-8:59:59 – Somebody