有没有办法将这些多个SQL查询转换为一个?

时间:2018-04-09 22:13:54

标签: sql

我有一个如下所示的查询:

SELECT COUNT(*)
FROM   table
WHERE  date_field >= '2018-04-08'
AND    date_field <= '2018-04-14'

我需要这样做26次,对于当前周和前25周,每个结果用回车符分隔。这可能是单个SQL查询还是我需要将它放在循环中,正如我现在所做的那样?

  

请注意,这是在FileMaker中。我不会认为是相关的,但现在你知道了,以防万一。

2 个答案:

答案 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不能使用该函数,则可以嵌套内部部分并给出别名。