db2 检索sql表上每个字段的第一个结果

f0brbegy  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(222)

我有一个这样的sql表:
| 代码|标号|
| - -|- -|
| 一个|横列|
| 一个|行2|
| 2个|第3行|
| 2个|第4行|
| 2个|第5行|
我想检索每个“代码”的第一个描述,例如:
| 代码|标号|
| - -|- -|
| 一个|横列|
| 2个|第3行|
怎么可以进行SQL查询呢?

ut6juiuv

ut6juiuv1#

可以枚举每个code中的行,并按label排序。

/*
WITH MYTABLE (code, label) AS
(
VALUES
  (1, 'row')
, (1, 'row2')
, (2, 'row3')
, (2, 'row4')
, (2, 'row5')
)

* /

SELECT CODE, LABEL
FROM
(
  SELECT ROW_NUMBER () OVER (PARTITION BY CODE ORDER BY LABEL) AS RN_
, T.*
FROM MYTABLE T  
) 
WHERE RN_ = 1

| 代码|标签|
| - -|- -|
| 一个|横列|
| 2个|第3行|

相关问题