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)
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)
你必须使用循环并做一些像上面这样的事情
| 归档时间: |
|
| 查看次数: |
1755 次 |
| 最近记录: |