蓬莱做网站那家好,wordpress调用id数据,网站建设创始人,昆山企业网站设计Oracle多行数据合并为一行数据 实现查询效果原数据 方式一#xff1a;MAX()数据效果SQL 方式二#xff1a;LISTAGG()数据效果 方式三#xff1a;WM_CONCAT()数据效果 实现查询效果
原数据
FZPROJECTVALUE1电脑$16001手机$121导管$12电脑$22手机$22
方式一#xff1a;MAX… Oracle多行数据合并为一行数据 实现查询效果原数据 方式一MAX()数据效果SQL 方式二LISTAGG()数据效果 方式三WM_CONCAT()数据效果 实现查询效果
原数据
FZPROJECTVALUE1电脑$16001手机$121导管$12电脑$22手机$22
方式一MAX()
数据效果
电脑电脑手机导管1$1600$12$12$2$22
SQL
根据FZ字段筛选并分组MAX支持字符内容SUN()同样支持但是只能是数字类型。
SELECT FZ,MAX(CASE WHEN PROJECT 电脑 THEN VALUE END) 电脑,MAX(CASE WHEN PROJECT 手机 THEN VALUE END) 手机,MAX(CASE WHEN PROJECT 导管 THEN VALUE END) 导管
FROM TABLE01
GROUP BY FZ此方法没有数据库类型限制MySQL、Oracle、达梦均可。
方式二LISTAGG()
数据效果
FZPROJECT1电脑,手机,导管
此方法仅仅是合并列内容便于整合。
SELECT FZ,LISTAGG(PROJECT,,) PROJECT
FROM TABLE01
WHERE FZ 1;方式三WM_CONCAT()
数据效果
FZPROJECT1电脑,手机,导管2电脑,手机
此方法与方法二相关相同但适合于Oracle数据库。
SELECT FZ,WM_CONCAT(PROJECT,,) PROJECT
FROM TABLE01
--WHERE FZ 1
GROUP BY FZ;