2

次の構造とサンプルデータのテーブルがあります。

STORE_ID |  INS_TIME  | TOTAL_AMOUNT
  2         07:46:01    20
  3         19:20:05    100
  4         12:40:21    87
  5         09:05:08    5
  6         11:30:00    12
  6         14:22:07    100

STORE_IDごとにTOTAL_AMOUNTの時間合計を取得する必要があります。次のクエリを試しましたが、正しいかどうかわかりません。

SELECT STORE_ID, SUM(TOTAL_AMOUNT) , HOUR(INS_TIME) as HOUR FROM VENDAS201302 
WHERE MINUTE(INS_TIME) <=59
GROUP BY HOUR,STORE_ID
ORDER BY INS_TIME;
4

2 に答える 2

2

ここで別の日を検討していない理由がわかりません。Datepart()Sql-Serverで以下の関数を使用して時間合計を取得できます。

デモ

SELECT STORE_ID, SUM(TOTAL_AMOUNT) HOURLY_SUM
FROM t1
GROUP BY STORE_ID, datepart(hour,convert(datetime,INS_TIME))
ORDER BY STORE_ID
于 2013-03-13T19:44:36.767 に答える
1
SELECT STORE_ID,  
       HOUR(INS_TIME) as HOUR_OF_TIME,
       SUM(TOTAL_AMOUNT) as AMOUNT_SUM
FROM VENDAS201302 
GROUP BY STORE_ID, HOUR_OF_TIME
ORDER BY INS_TIME;
于 2013-03-13T19:32:43.110 に答える