我有一个表-网站,我想计算过去3天每个网站的收入。此表没有日期列。
select distinct(website_id), cast( GETDATE() AS rundate ) from websites;结果可能如下所示:
Website_Id rundate
5 11-11-2021
7 11-11-2021我使用上面的结果插入到一个参数化的sql查询中,该查询将查询如下所示的收入数据库:
select total_revenue from revenue where website_id = %{website_id}% and date > %{run_date} and date < DATEADD(day, -1, %{run_date})我想在过去的3天里这样做。有没有办法在网站上获取select查询中的所有三个日期?预期结果:
Website_Id rundate
5 11-11-2021
5 10-11-2021
5 09-11-2021
7 11-11-2021
7 10-11-2021
7 09-11-2021发布于 2021-11-12 06:23:26
我相信您需要使用SQL中的MAX和GROUP BY函数。
我认为下面这样的方法可能会起作用:
SELECT Website_ID, MAX(RunDate) FROM websites
Where RunDate <= DATEADD(day,-3,GetDate())
Group By Website_IDhttps://stackoverflow.com/questions/69938579
复制相似问题