繁体   English   中英

使用SQL查询按日期分组?

[英]Group by on date with SQL query?

我有一个观点

ID   S.No  DateFr        DateTo
---  ----- ------       ---------
1    63    01/01/2010    01/01/2010
1    63    01/01/2010    01/11/2010
2    64    01/01/2010    01/01/2010 
2    64    01/01/2010    01/11/2010
3    65    01/01/2010    01/01/2010
3    65    01/01/2010    01/11/2010

现在我想要类似的结果

ID   S.No  DateFr       DateTo
1     63   01/01/2010   01/11/2010
2     64   01/01/2010   01/11/2010
3     65   01/01/2010   01/11/2010

注意记录中仅更改了DateFr,因此我希望它从成为行更改为列。 ID不是固定的,范围可以是无限制的,例如1,1,1 ------ 30,30,30。 我正在将DB2与ISeries一起使用。

它应该像这样简单:

select id, s.no, min(datefr), max(dateto) from your_table group by id, s.no
SELECT ID,S.No,dateFr,DateTo  FROM your_table GROUP BY ID,S.No,dateFr,DateTo 

使用Max()Case WhenGroup By

在我看来,该技术称为“枢轴”或“交叉表”。

您可能要使用SQL Server PIVOT命令。

看一下这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM