[英]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.