Mysql 如何在一列中对过去两个日期之间的日期进行分组

Mysql 如何在一列中对过去两个日期之间的日期进行分组,mysql,date,Mysql,Date,我有这个疑问 SELECT DATE_ADD(table1.date, INTERVAL -7 DAY) AS date7, DATE_ADD(table1.date, INTERVAL -14 DAY) AS date14, DATE_ADD(table1.date, INTERVAL -21 DAY) AS date21, table1.hotel AS hotel, table1.customer AS Customer, table1.date AS Date, table1.sell

我有这个疑问

SELECT
DATE_ADD(table1.date, INTERVAL -7 DAY) AS date7,
DATE_ADD(table1.date, INTERVAL -14 DAY) AS date14,
DATE_ADD(table1.date, INTERVAL -21 DAY) AS date21,
table1.hotel AS hotel,
table1.customer AS Customer,
table1.date AS Date,
table1.sell AS Sells,
table2.adr AS ADR,
table2.revpar AS RevPAR,
table3.name_hotel AS Hotel_name,
FROM `table1`
INNER JOIN table3 ON table1.hotel=table3.hotel
INNER JOIN table2 
ON table1.hotel=table2.hotel
AND table1.date_occ=table2.date_occ

我想得到一个列weeks,其中日期介于日期7和日期7之间,然后是上周,日期介于日期7和日期14之间,然后是-2周,日期介于日期14和日期21之间,然后是-3周。因为我需要在几周内分组,根据当前日期计算最近7天、14天和21天的销售情况

类似的方法应该可行

table1.date BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW()
table1.date BETWEEN DATE_SUB(NOW(), INTERVAL 14 DAY) AND DATE_SUB(NOW(), INTERVAL 7 DAY)
table1.date BETWEEN DATE_SUB(NOW(), INTERVAL 21 DAY) AND DATE_SUB(NOW(), INTERVAL 14 DAY)

这回答了你的问题吗?在mysql中,有几个函数用于日期、年、周、月