MySQL 中按日期范围分组的两个日期之间的查询
query between two dates in MySQL grouped by range of days
我在 SQL 中使用 DOMO。我的数据集中有两列:Date
和 Revenue
。我只想获取从 2019 年 3 月 1 日开始的数据并将其每周分组,所以我只看到从 2019 年 3 月 1 日开始的 1 周的收入总和。
我希望输出是这样的:
Date Revenue
March 1st - 7th, 2019 123
March 8th - 15th, 2019 124
我试过以下方法:
select '2019-03-01' AS `Date`,
ADDDATE('2019-03-01',INTERVAL 1 WEEK) AS '+1 Week'
但它只有 returns 一个日期 '2019-03-08'
SELECT WeekNumber, SUM(Revenue)
FROM (SELECT DATEDIFF(week, '2019-03-01', Date) AS WeekNumber, Revenue FROM Table)
GROUP BY WeekNumber;
此 SQL 命令应该会为您提供来自数据库的每周收入。
DATEDIFF( date_part , start_date , end_date)
DATEDIFF()函数returns一个整数值,表示start_date和end_date之间的差异,单位由date_part指定。在我们的命令中,它为我们提供了每一行中日期的周数。
来自内部 SQL 函数,
SELECT DATEDIFF(week, '2019-03-01', Date) AS WeekNumber, Revenue FROM Table
我们获得了一个新的 table,其中包含原始 table 中每行的周数和收入。现在,我们根据周数对它们进行分组并汇总收入列。
我在 SQL 中使用 DOMO。我的数据集中有两列:Date
和 Revenue
。我只想获取从 2019 年 3 月 1 日开始的数据并将其每周分组,所以我只看到从 2019 年 3 月 1 日开始的 1 周的收入总和。
我希望输出是这样的:
Date Revenue
March 1st - 7th, 2019 123
March 8th - 15th, 2019 124
我试过以下方法:
select '2019-03-01' AS `Date`,
ADDDATE('2019-03-01',INTERVAL 1 WEEK) AS '+1 Week'
但它只有 returns 一个日期 '2019-03-08'
SELECT WeekNumber, SUM(Revenue)
FROM (SELECT DATEDIFF(week, '2019-03-01', Date) AS WeekNumber, Revenue FROM Table)
GROUP BY WeekNumber;
此 SQL 命令应该会为您提供来自数据库的每周收入。
DATEDIFF( date_part , start_date , end_date)
DATEDIFF()函数returns一个整数值,表示start_date和end_date之间的差异,单位由date_part指定。在我们的命令中,它为我们提供了每一行中日期的周数。
来自内部 SQL 函数,
SELECT DATEDIFF(week, '2019-03-01', Date) AS WeekNumber, Revenue FROM Table
我们获得了一个新的 table,其中包含原始 table 中每行的周数和收入。现在,我们根据周数对它们进行分组并汇总收入列。