【发布时间】:2022-01-23 15:18:45
【问题描述】:
我有这个问题:
--START DATE
DECLARE @Inicio date
SET @Inicio = '01/01/2021'
--END DATE
DECLARE @Fin date
SET @Fin = '31/01/2021'
--LOOP
WHILE (@Inicio <= @Fin)
BEGIN
--WHATEVER SELECT
SELECT @Inicio AS Fecha, 0 AS Agente, 1 AS FE
UNION ALL
--WHATEVER SELECT
SELECT @Inicio AS Fecha, 1 AS Agente, 0 AS FE
--ADD 1 TO DATE
SET @Inicio = DATEADD(day, 1, @Inicio)
END
它给出了这个结果集:
但是,我想将所有结果集与列 Fecha
分组你能提供线索吗
通过 Fecha 添加组(我需要将结果汇总到日期) 看起来像这样 added the group by clause
但结果集为每一行重复标题: enter image description here
【问题讨论】:
-
我已删除标签垃圾邮件,请仅标记您真正使用的内容。我假设(在查看图像之前)您使用的是 MySQL,因为您还标记了 [phpmyadmin],但这些图像看起来像 SQL Server Management Studio (SSMS)...
-
你为什么在这里使用
WHILE? SQL 是一种基于集合的语言。为什么你想要一个单独的结果集 per 日期? -
是的……我的错。很抱歉。
-
我只想得到那个日期范围内的结果,这就是我尝试使用 WHILE 的原因
-
但为什么不是
BETWEEN或>=和<?
标签: sql sql-server