Oracle查询语句
要实现如下效果:
A BB BB C DD
1 1.1 1.2 2 2.1
请问SQL怎么写?
[解决办法]
with test as (
select 'A' AS STR FROM DUAL
UNION ALL
select 'A' AS STR FROM DUAL
UNION ALL
select 'BB' AS STR FROM DUAL
UNION ALL
select 'BB' AS STR FROM DUAL
UNION ALL
select 'BB' AS STR FROM DUAL
UNION ALL
select 'C' AS STR FROM DUAL
UNION ALL
select 'DD' AS STR FROM DUAL
UNION ALL
select 'E' AS STR FROM DUAL
)
SELECT DECODE(STRL, 1, RN2, 2, LAG(RN2, RN1) OVER(ORDER BY STR) + RN1 / 10),
STR
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY STR ORDER BY STR) AS RN1,
LENGTH(STR) AS STRL,
ROW_NUMBER() OVER(PARTITION BY LENGTH(STR) ORDER BY STR) AS RN2,
STR
FROM TEST)
======================================
11A
22A
32.1BB
42.2BB
52.3BB
63C
73.1DD
84E
Oracle查询语句解决思路
Oracle查询语句要实现如下效果:A BB BB C DD1 1.1 1.2 2 2.1请问SQL怎么写?[解决办法]with test as (selec
