SQL语句里面对一列数据去重应该怎么搞?

2025-03-11 07:21:58
推荐回答(1个)
回答1:

将TT表替换成你的查询语句。
另外你得保证,检查部位中都是以空格为分隔符的。
还有,对于第20行数据的胸部正位片,实在是没办法,你最好修剪下数据。
SELECT
SUBSTR
(LTRIM
(检查部位,
'
'),
idx1,
idx2
-
idx1)
FROM
(SELECT
检查部位,
NVL
(LAG
(idx)
OVER
(ORDER
BY
ROWNUM)
+
1,
1)
idx1,
idx
idx2
FROM
(SELECT
DISTINCT
检查部位,
idx
FROM
(SELECT
检查部位,
DECODE
(INSTR
(LTRIM
(检查部位,
'
'),
'
',
ROWNUM
),
0,
LENGTH
(LTRIM
(检查部位,
'
'
)
)
+
1,
INSTR
(LTRIM
(检查部位,
'
'),
'
',
ROWNUM
)
)
idx
FROM
tt
CONNECT
BY
ROWNUM
<=
LENGTH
(LTRIM
(检查部位,
'
')))
ORDER
BY
idx))