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 回答