在Oracle中如何使得分组的数据用逗号分隔形成一条记录
2005-12-22 13:08
344 查看
方法1:
SELECT
KSBH
,SUBSTR(MAX(RESULT),2) AS KSKMBM FROM
(
SELECT KSBH,KSKMBM,SYS_CONNECT_BY_PATH(KSKMBM,',') RESULT FROM
(
SELECT KSBH, KSKMBM, RN, LEAD(RN) OVER(PARTITION BY KSBH ORDER BY RN)
RN1 FROM
(
--my sql begin
SELECT
KSXX.KSBH,
CSCJ.KSKMBM,
ROW_NUMBER() OVER(ORDER BY KSXX.KSBH) RN
FROM
IDC_U_YJSJW.YJSJW_KSGRJBXX KSXX,
IDC_U_YJSJW.YJSJW_KSCSCJXX CSCJ
WHERE
KSXX.KSBH = CSCJ.KSBH
--my sql end
)
)
START WITH RN1 IS NULL CONNECT BY RN1 = PRIOR RN ORDER BY RN
)
GROUP BY KSBH
方法2:
http://community.csdn.net/Expert/TopicView2.asp?id=4312073&datebasetype=now
SELECT
KSBH
,SUBSTR(MAX(RESULT),2) AS KSKMBM FROM
(
SELECT KSBH,KSKMBM,SYS_CONNECT_BY_PATH(KSKMBM,',') RESULT FROM
(
SELECT KSBH, KSKMBM, RN, LEAD(RN) OVER(PARTITION BY KSBH ORDER BY RN)
RN1 FROM
(
--my sql begin
SELECT
KSXX.KSBH,
CSCJ.KSKMBM,
ROW_NUMBER() OVER(ORDER BY KSXX.KSBH) RN
FROM
IDC_U_YJSJW.YJSJW_KSGRJBXX KSXX,
IDC_U_YJSJW.YJSJW_KSCSCJXX CSCJ
WHERE
KSXX.KSBH = CSCJ.KSBH
--my sql end
)
)
START WITH RN1 IS NULL CONNECT BY RN1 = PRIOR RN ORDER BY RN
)
GROUP BY KSBH
方法2:
http://community.csdn.net/Expert/TopicView2.asp?id=4312073&datebasetype=now
相关文章推荐
- MySQL使用GROUP_CONCAT()函数按ID分组将多条记录的某个字段以逗号或者指定分隔号隔开成一条记录
- Oracle数据分组后取每组的一条记录
- 当字段内有逗号分隔时,Oracle如何对这些字段值进行分组
- ORACLE学习之旅——分组取每组数据中最近的一条记录
- 在oracle中如何用一条sql语句把一个表中多条记录写到另外一个表中
- 删除oracle 表中重复数据sql语句、保留rowid最小的一条记录
- 【SQL】如何一次(一条SQL语句)向ORACLE中插入多组/多条数据,不同于mysql
- Oracle中如何求分组数据的百分数?
- 当字段内有逗号分隔时,SQL如何对这些字段值进行分组
- Oracle取某一栏位逗号分隔之后的数据
- Oracle删除重复记录只保留一条数据的几种方法
- Oracle中如何用一条SQL快速生成10万条测试数据
- Oracle,MySQL多列数据用逗号分隔一行展示
- PB如何让数据窗口可以一分为2,中间出现一条分隔线,分隔线右边可以随便拉动,左边固定,方便数据窗口列比较多,且要查看左边的某些数据用.
- Oracle查询重复数据并删除,只保留一条记录
- mysql列存入逗号分隔的数据,如何查询
- oracle如何找出数据中的乱码记录
- mysql查询获取分组后最新的一条记录,策略:先排序,然后在次分组查询(默认第一条),就是最新的一条数据了
- sql如何分组选择显示最新的一条数据
- oracle 记录每一条数据最后更新的时间(ora_rowscn)