SQL:全年每14天对数据求和
EMP__ID | 工作日期 | 已售商品
<前><代码>1 1/1/2010 10 2 2010 年 1 月 1 日 5 1 2010年2月1日 7 1 2010 年 3 月 1 日 13 2 2010 年 4 月 1 日 6
我想编写一个查询,每隔 14 天(两周)对 “Items_Sold” 进行求和,持续 < strong>2010 年全年
为了更清楚地显示,此查询应返回 (26 行),即每一行中一年中的两周的数量将会有在特定两周内捕获的total Items_Sold
我正在使用 SQL Navigator (oracle SQL)
非常感谢您的帮助 祝您
好运,
EMP__ID |
Work_Date | Items_sold1 1/1/2010 10 2 1/1/2010 5 1 2/1/2010 7 1 3/1/2010 13 2 4/1/2010 6
I want to write a query that will sum the "Items_Sold" every 14 days (fortnight) for entire year 2010
to make it more clear , this query should return ( 26 rows ) which is the number of fortnights in a year , in each row there will be the total Items_Sold that was captured in that particular fortnight
I'm using SQL Navigator ( oracle SQL )
thank you so much for your help
best wishes,,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这应该会得到 26 行,从 1 月 1 日开始,增量为 14 天。这足以让您开始吗?
This should get you exactly 26 rows, starting with January 1st with 14 day increments. Is that enough to get you started?
一种方法可能是根据日期除以 2 得到周数,加上 0.1,然后四舍五入。这会将值从 52 标准化为 26。唯一的问题是有 53 周,因此您应该测试该情况何时发生。
注意:我现在不在 Oracle 盒子附近,所以我还没有测试过这个
One approach might be to get the week from the date divide by 2, add .1 and then round it. This will normalize the values from 52 to 26. The one problem is that there are 53 weeks, so you should test for when that occurs.
Note: I'm not near an Oracle box right now so I haven't tested this
此查询返回 26 行,如下所示。
它创建了 2010 年的日历(只是一个日期表)。如果没有 26 行可供连接,您就无法真正获得所有 26 行。
This query returns 26 rows that look like this.
It creates a calendar--just a table of dates--for 2010. You can't really get all 26 rows without having 26 rows to join on.
我认为这应该可以做到
,但可能会在除夕夜结束。我想如果有必要的话你可以很容易地手动解释这一点。我就假设这家商店没有营业:)
I think this should do it
It's probably going to lop of new years eve, though. Guess you could easily account for that manually if necessary. I'll just assume this store isn't open then :)