我有一个如下所示的查询:
SELECT COUNT(*)
FROM table
WHERE date_field >= '2018-04-08'
AND date_field <= '2018-04-14'
我需要这样做26次,对于当前周和前25周,每个结果用回车符分隔。这可能是单个SQL查询还是我需要将它放在循环中,正如我现在所做的那样?
请注意,这是在FileMaker中。我不会认为是相关的,但现在你知道了,以防万一。
答案 0 :(得分:1)
使用“分组依据”。假设您正在查看日历周,按日期分组将为您提供每周的计数,并且额外的条件可以限制整个范围。
答案 1 :(得分:1)
FileMaker有一个WeekOfYearFiscal()函数。第二个参数是星期几开始日期。
SELECT WeekOfYearFiscal(dateField;2), COUNT(*)
FROM table
WHERE date_field >= '2018-01-01'
AND date_field <= '2018-04-14'
group by WeekOfYearFiscal(dateField;2)
请参阅此文档 - http://www.filemaker.com/help/12/fmp/html/func_ref1.31.28.html
放手一搏。如果GROUP BY不能使用该函数,则可以嵌套内部部分并给出别名。