SQL Runnnig多次执行同一查询

Neh*_*eha 5 sql sqlclient vertica vsql

我有一个查询,该查询为我提供了两个日期start_date和end_date之间的COUNT,并按各个列进行了分组。有什么办法可以让我每天获得COUNT个?就像说start_date是date1和end_date是date5一样,因此我需要对“ date1到date2”,“ date1到date3”,“ date1到date4”,然后“ date1到date5”运行一次查询。是否像基于开始日期和结束日期多次运行同一查询?我的查询看起来像

Select COUNT(A), B, C, D
FROM TABLE 
WHERE CONDITION1 AND DATE BETWEEN start_date AND end_date
GROUP BY B, C, D
Run Code Online (Sandbox Code Playgroud)

bac*_*ack 4

Select COUNT(A), B, C, D,DATE 
FROM TABLE 
WHERE CONDITION1 AND DATE BETWEEN start_date AND end_date
GROUP BY B, C, D,DATE 
Run Code Online (Sandbox Code Playgroud)

添加DATE 分组依据

如果字段是日期时间,则使用convert来自@ta.speot.is:SQL Server 2005 没有 DATE 作为类型

Select COUNT(A), B, C, D,convert(date,DATETime) 
    FROM TABLE 
    WHERE CONDITION1 AND DATE BETWEEN start_date AND end_date
    GROUP BY B, C, D,convert(date,DATETime) 
Run Code Online (Sandbox Code Playgroud)

添加DATE 分组依据

根据OP编辑:

declare increment int;
set increment  = 1
declare tempdate date;

set tempdate  = start_date  
while (tempdate  < end_date)


Select COUNT(A), B, C, D,DATE 
    FROM TABLE 
    WHERE CONDITION1 AND DATE BETWEEN start_date AND DATEADD(day,increment,  start_date )
    GROUP BY B, C, D,DATE 

set increment = increment   + 1
set tempdate   =  DATEADD(day,1,tempdate )
end 
Run Code Online (Sandbox Code Playgroud)

你必须使用循环并做一些像上面这样的事情