oracle sql求助

需要查询一段时间的数据,要求前一天的8点到第二天的8点 进行sum,记录为前天的日期。

你需要查询前一天的8点到当天的8点之间的数据并进行求和,并将结果记录为前天的日期。以下是相应的SQL语句:

sql
Copy code
SELECT
SUM(amount) AS sum_amount,
TO_DATE(prev_date, 'YYYY-MM-DD') AS recorded_date
FROM (
SELECT
amount,
TO_CHAR(start_time - INTERVAL '1' DAY, 'YYYY-MM-DD') AS prev_date
FROM your_table
WHERE start_time >= TO_DATE('2023-07-18 08:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND start_time < TO_DATE('2023-07-19 08:00:00', 'YYYY-MM-DD HH24:MI:SS')
) t
GROUP BY TO_DATE(prev_date, 'YYYY-MM-DD');

这里使用了TO_CHAR和TO_DATE函数来处理日期的格式转换,确保正确地获取前一天的日期。另外,我修改了时间范围,以便包括前一天的8点到当天的8点之间的数据。

2 / 2
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜