SQL 查询-多个日期范围
SQL Query-Multiple date ranges
我想通过提供多个日期范围从数据库中获取一些数据。例如,在 2 月,我想从 table 中获取每周报告,顺序为 2 月 1 日至 07 日、2 月 7 日至 14 日、2 月 14 日至 21 日、2 月 21 日至 28 日以及 2 月 28 日至 3 月 1 日。在数据库中的记录以每日而不是每周的方式存储。我想按周将其聚类并计算总和然后显示结果。知道这个案例的请帮帮我
要获得清晰的视图,请考虑 3 table 及其列。
Table A:id,timestamp (comment-data is inserted daily)
Table B:id,fruits
Table C:id,fruits_type
结果:
fruits_type count(id) timestamp
apple 3 01-02-2016 to 07-02-2016
orange 5 01-02-2016 to 07-02-2016
pineapple 8 01-02-2016 to 07-02-2016
apple 4 07-02-2016 to 14-02-2016
orange 5 07-02-2016 to 14-02-2016
条件:id 应在 3 table 之间匹配;通过按 fruits_type 提供分组获取数据,时间戳应按周计算。
知道的请帮忙
要获取两个日期之间所有值的总和,您可以这样做:
SELECT SUM(Column1)
FROM Table1
WHERE Date1 BETWEEN '2/1/2016' AND Date1 <'2/7/2016'
如果你想让它更灵活,让查询得到上周的总和,你可以使用 DATEADD 函数延迟一周:
SELECT SUM(Column1)
FROM Table1
WHERE Date1 BETWEEN DATEADD(week, -1, GETDATE()) AND Date1 < GETDATE()
如果希望结果集中每周包含一行,可以使用 UNION 合并查询。
我想通过提供多个日期范围从数据库中获取一些数据。例如,在 2 月,我想从 table 中获取每周报告,顺序为 2 月 1 日至 07 日、2 月 7 日至 14 日、2 月 14 日至 21 日、2 月 21 日至 28 日以及 2 月 28 日至 3 月 1 日。在数据库中的记录以每日而不是每周的方式存储。我想按周将其聚类并计算总和然后显示结果。知道这个案例的请帮帮我
要获得清晰的视图,请考虑 3 table 及其列。
Table A:id,timestamp (comment-data is inserted daily)
Table B:id,fruits
Table C:id,fruits_type
结果:
fruits_type count(id) timestamp
apple 3 01-02-2016 to 07-02-2016
orange 5 01-02-2016 to 07-02-2016
pineapple 8 01-02-2016 to 07-02-2016
apple 4 07-02-2016 to 14-02-2016
orange 5 07-02-2016 to 14-02-2016
条件:id 应在 3 table 之间匹配;通过按 fruits_type 提供分组获取数据,时间戳应按周计算。
知道的请帮忙
要获取两个日期之间所有值的总和,您可以这样做:
SELECT SUM(Column1)
FROM Table1
WHERE Date1 BETWEEN '2/1/2016' AND Date1 <'2/7/2016'
如果你想让它更灵活,让查询得到上周的总和,你可以使用 DATEADD 函数延迟一周:
SELECT SUM(Column1)
FROM Table1
WHERE Date1 BETWEEN DATEADD(week, -1, GETDATE()) AND Date1 < GETDATE()
如果希望结果集中每周包含一行,可以使用 UNION 合并查询。