[英]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 When
和Group By
。
在我看来,该技术称为“枢轴”或“交叉表”。
您可能要使用SQL Server PIVOT命令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.