私はこのコードを使用して、一連のイベントの発生回数を1時間ごとにカウントします。私は、locate_received_dateが2016-12-01(注:locate_received_dateデータ型はYYYY-MM-DD hh:mm:ss形式のDATETIME)のすべての時間のカウントを計算するように設定しました。私は、前日のカウントを手動で入力しました。コードの抜粋は次のとおりです。すべての日付(特定の日付ではない)に発生をカウントする
SELECT CAST(locate_received_date as date) AS 'ForDate',
DATEPART(hh, locate_received_date) AS 'OnHour',
COUNT (*) AS 'HourCount'
FROM MyTable
WHERE locate_received_date BETWEEN '2016-12-01 00:00:00.000' AND '2016-12-01 23:59:59.999'
GROUP BY CAST(locate_received_date as date), DATEPART(hh, locate_received_date);
テーブル「MyTable」には、さまざまな日付のデータが数百行あります。手動で入力したものだけでなく、すべての異なる日付のカウントを実行する必要があります。
DISTINCT CAST(locate_received_date AS DATE)
これはおそらく何らかのFORループを使って行うのですか?
編集: テーブルを作成するスクリプトは次のとおりです。実際に作成する価値のあるコラムはありません。テーブルにIDや何もありません。テーブルが更新されており、更新があるたびに、locate_received_dateは発生日時で更新されます。私は時間に基づいて最初に数える必要があります(私のスクリプトがします)、そしてまた日に基づいています。
CREATE Table myTable(
Locate_Received_Date date);
INSERT INTO myTable(Locate_Received_Date) VALUES ('2016-12-01 15:14:07.000');
INSERT INTO myTable(Locate_Received_Date) VALUES ('2016-12-01 15:13:37.000');
INSERT INTO myTable(Locate_Received_Date) VALUES ('2016-12-02 15:13:37.000');
INSERT INTO myTable(Locate_Received_Date) VALUES ('2016-12-01 15:13:07.000');
INSERT INTO myTable(Locate_Received_Date) VALUES ('2016-12-02 15:12:08.000');
INSERT INTO myTable(Locate_Received_Date) VALUES ('2016-12-02 15:12:07.000');
INSERT INTO myTable(Locate_Received_Date) VALUES ('2016-11-28 15:11:37.000');
INSERT INTO myTable(Locate_Received_Date) VALUES ('2016-12-02 15:11:08.000');
INSERT INTO myTable(Locate_Received_Date) VALUES ('2016-12-02 15:11:07.000');
INSERT INTO myTable(Locate_Received_Date) VALUES ('2016-11-28 15:10:37.000');
INSERT INTO myTable(Locate_Received_Date) VALUES ('2016-11-29 15:10:08.000');
助けてください。ありがとう
ここから始めるのがいいです。 http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –
あなたが投稿した質問が1つ以上の日付にまたがる日付範囲。私の見ているところから、これはほぼすべての日付範囲で機能するはずです。 –
私は「where locate_received_date BETWEEN '2016-12-01 00:00:00.000' AND '2016-12-01 23:59:59.999」と書いており、1日しか指定していません。このコマンドはより一般的なものにする必要があるので、データベース内のすべての日付に対して実行できます。私は自分のテーブルを追加するために私の質問を編集中です –