SQL 特殊查詢實例 分組、編號、排序、行號


 

在數據庫查詢操作的時候,經常會遇到一些特殊的數據提取,比如按某些條件分組後,在組內排序附加租序號等等。

不多說直接上SQL:

表 TableName{A,B,C,D}

TableName

A   B   C   D
a   1   a1  b1
b   1   a2  b1
c   2   a1  b2
a   2   a2  b1
b   1   a1  b1

------------------------------------------------------------------------------------------------------------------------------------------
DB2:

     --分組查詢,組內排序添加序號

     SELECTrank() over(partition BY t.A,t.B ORDER BY t.Cdesc ) son , t.* FROM TableName t ;

結果:

son   A   B   C   D
1      a   1   a1  b1
2      a   2   a2  b1
1      b   1   a2  b1
2      b   1   a1  b1
1      c   2   a1  b2

      --爲查詢結果添加序號,行號。

     SELECT rownumber() over (ORDER BY t.A) son ,t.* FROM TableName t ;

結果:

son A   B   C   D

1    a   1   a1  b1
2   a   2   a2  b1
3   b   1   a1  b1
4   b   1   a2  b1
5   c   2   a1  b2

--

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章