【发布时间】:2020-12-17 01:55:15
【问题描述】:
我有一个 SQLite 数据库,sales 表如下,
| Id | quantity | dateTime |
------------------------------------
| 1 | 10 | 2019-12-25 12:55 |
| 2 | 05 | 2019-12-30 12:55 |
| 3 | 25 | 2020-08-23 12:55 |
| 4 | 25 | 2020-08-24 12:55 |
| 5 | 56 | 2020-08-25 12:55 |
| 6 | 25 | 2020-08-26 12:55 |
| 7 | 12 | 2020-08-27 12:55 |
| 8 | 30 | 2020-08-28 12:55 |
| 9 | 40 | 2020-08-29 12:55 |
我需要获取当前周数据(周一至周日)和当前年份数据(一月至十二月)。因此,如果我通过今天的日期,我只需要按天获取当前周销售数据组,如下所示,
如果我通过今天的日期和时间 (2020-08-28 13:55),查询应该给我这样的当前周数据,
Day Sold Items (SUM(quantity))
Monday 20
Tuesday 25
Wednesday 10
Thursday 50
Friday 60
Saturday 0 (If the date hasn't come yet I need to get 0)
Sunday 0
当我通过当前日期时,与当前年份数据相同,
Month Sold Items (SUM(quantity))
JAN 20
FEB 25
MAR 10
APR 50
MAY 60
JUN 0 (If the month hasn't come yet I need to get 0)
JUL 0
... ...
我在 SQLite 中尝试了多个查询,但无法得到我需要的。这是我尝试过的查询,
Weekly Data (This one gave me past week data also)
SELECT SUM(quantity) as quantity, strftime('%w', dateTime) as Day
From sales
Group by strftime('%w', dateTime)
Monthly Data
SELECT SUM(quantity) as quantity, strftime('%m', dateTime) as Month
From sales
Group by strftime('%m', dateTime)
那么任何人都可以帮助我实现这一目标吗?提前致谢。
【问题讨论】:
标签: sql sqlite common-table-expression