我试图解决以下问题:
显示 2011 年 12 月 1 日至 2012 年 1 月 31 日之间的周(例如 1-52)、该周的开始和结束日期以及该周内报告的传感器温度数,按周数排序降序。
使用以下选择。
SELECT TO_CHAR(R.Report_Time,'WW') as Week, NEXT_DAY(R.Report_Time-7,'Monday'), NEXT_DAY(R.Report_Time-1, 'Sunday')
FROM REPORT R
WHERE R.Report_Time BETWEEN '01-DEC-2011' AND '31-JAN-2012'
GROUP BY Week
ORDER BY TO_CHAR(R.Report_Time, 'WW') DESC;
这会出现一些错误,这些错误不会让查询正确执行,例如不是按表达式分组。
它的表 REPORT 是一个报告列表,其中包含数据和报告时间。
编辑:
WE NEXT_DAY( NEXT_DAY( SENSOR_COUNT
-- --------- --------- ------------
03 16-JAN-12 22-JAN-12 1
02 09-JAN-12 15-JAN-12 1
02 09-JAN-12 15-JAN-12 1
02 09-JAN-12 15-JAN-12 1
它是打印出来的。它似乎不仅仅按周分组,正如您在这里看到的那样,我相信输出应该看起来更接近于:
WE NEXT_DAY( NEXT_DAY( SENSOR_COUNT
-- --------- --------- ------------
03 16-JAN-12 22-JAN-12 1
02 09-JAN-12 15-JAN-12 3