1
私がどのように見えるのテーブルがあります。ムービーの開始時間と終了時間が含まれているテーブルを使用している場合、1時間ごとに監視されているムービーの数をカウントするにはどうすればよいですか?
start_timestamp end_timestamp
2012-11-18 05:53:36.0 2012-11-18 7:46:40.0
2012-11-18 06:34:23.0 2012-12-18 09:21:57.0
をそして、私は、出力は次のようになりたい:
hour moves_being_played
2012-11-18 05:00:00.0 1
2012-11-18 06:00:00.0 2
2012-11-18 07:00:00.0 2
2012-11-18 08:00:00.0 1
2012-11-18 09:00:00.0 1
これまでのところ、私は手動で各時間の値を設定し、数を数えてみました開始時間が短く、終了時間が長い映画の
SELECT
COUNT(CASE WHEN HOUR(start_time) < 6 THEN 1 ELSE null END)
COUNT(CASE WHEN HOUR(start_time) < 7 THEN 1 ELSE null END) - COUNT(CASE WHEN HOUR(end_time) < 7 THEN 1 ELSE null END)
...
COUNT(CASE WHEN HOUR(start_time) < 9 THEN 1 ELSE null END) - COUNT(CASE WHEN HOUR(end_time) < 9 THEN 1 ELSE null END)
FROM table
手動で各時間帯を設定せずに結果を「ワイド」表ではなく「長い」表にすることはできますか?
は、DBプラットフォームにタグを付けてください映画のテーブルで結果を結合し、あなたは何を試してみましたか? – OldProgrammer
ホエイ彼らは "あなたは何を試しましたか"と言うと、あなたが質問で試したACTUALコードを貼り付けることを意味します... – ganders
これはSQL Server向けの記事ですが、あなたの問題のためのいくつかのアイデアを与えることができます。 http://www.kodyaz.com/t-sql/create-date-time-intervals-table-in-sql-server.aspx – Jeremy