Oracle多行数据合并为一行数据,并将列数据转为字段名

这篇具有很好参考价值的文章主要介绍了Oracle多行数据合并为一行数据,并将列数据转为字段名。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实现查询效果

原数据

FZ PROJECT VALUE
1 电脑 $1600
1 手机 $12
1 导管 $1
2 电脑 $2
2 手机 $22

方式一:MAX()

数据效果

FZ 电脑 手机 导管
1 $1600 $12 $1
2 $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()

数据效果

FZ PROJECT
1 电脑,手机,导管

此方法仅仅是合并列内容,便于整合。

SELECT FZ,LISTAGG(PROJECT,',') PROJECT 
FROM TABLE01 
WHERE FZ = 1;

方式三:WM_CONCAT()

数据效果

FZ PROJECT
1 电脑,手机,导管
2 电脑,手机

此方法与方法二相关相同,但适合于Oracle数据库。文章来源地址https://www.toymoban.com/news/detail-630606.html

SELECT FZ,WM_CONCAT(PROJECT,',') PROJECT 
FROM TABLE01 
--WHERE FZ = 1
GROUP BY FZ;

到了这里,关于Oracle多行数据合并为一行数据,并将列数据转为字段名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL将以逗号分隔的数据分成多行,再合并为一行

    最近遇到个这样的问题,MySQL中的【影片表】中 [演员列] 的内容是用逗号分隔的多个id存储的(例:4356,9691,11337),然后需要把他换成id对应的演员名字(例:屈菁菁,王太利,肖央) 看起来很复杂,其实只要把问题拆分一下就会非常简单 分为三步 第一步:把逗号分隔的多个

    2024年02月11日
    浏览(30)
  • 【ORACLE】数据拼接那些事-多行或多列按指定分隔符拼接

    最近在做的某个项目中有一些数据预处理的工作,用的是Oracle数据库,涉及到表的拼接操作,在此记录一下并对数据库表的拼接知识做个扩充。 具体需求是: 把年龄(AGE)、性别(GENDER)、客户等级(CUSLEVEL)三个字段用逗号隔开拼接成一个字段 为空的字段不展示,三个字段全为空

    2023年04月16日
    浏览(27)
  • element-ui 表格一行显示多行内容并实现多行内某一行列合并

    这是加上边框的, 去掉边框后这个表格看着更明显一点,表格一行放多行内容,并让第二行进行列合并,第一行不合并 该方法其实就是普通的列合并,只不过使用了row和col使效果看着像是第一行没合并,第二行才合并

    2024年02月11日
    浏览(49)
  • Oracle数据库在指定字段后新增字段

    记录一下数据库中为表增加字段,且在指定字段后新增; mysql数据库的话比较简单通过一下sql语句即可实现: 而Oracle数据库不支持上述语法,添加字段只能显示到最后一位,所以如果非要添加字段到指定字段后的话可以通过新建数据表并修改表明实现,如下面语句所示:

    2024年02月15日
    浏览(39)
  • Oracle修改带数据的字段类型

    /*修改原字段名*/ /*添加一个和原字段同名的字段*/ /*将原来的数据更新到新字段中*/ /*删除原来的备份字段*/

    2024年02月06日
    浏览(46)
  • Hive SQL——explode拆分函数&多行(列)合并为一行(列)&reflect函数

    cd /data/import/ sudo vi test_explode_map_array.txt 添加以下文件内容 小明    产品1,产品2,产品3    性别:男,年龄:24 小花    产品4,产品5,产品6    性别:女,年龄:22  map_key map_value 年龄 24 性别 男 年龄 22 性别 女 prod_arr_new 产品1 产品2 产品3 产品4 产品5 产品6 name prod_arr_new 小明 产品1

    2024年02月15日
    浏览(42)
  • Oracle和达梦:连接多行查询结果

    使用LISTAGG函数,您可以将多行数据连接成一个字符串,并指定分隔符进行分隔。这在需要将多行数据合并为单个字符串的情况下非常有用,例如将多个值合并为逗号分隔的列表。 函数介绍 按查询顺序连接 按查询顺序反向连接

    2024年02月08日
    浏览(35)
  • Oracle SQL Developer 中查看表的数据和字段属性、录入数据

    在Oracle SQL Developer中,选中一个表时,右侧会列出表的情况;第一个tab是字段的名称、数据类型等属性; 切换到第二个tab,显示表的数据;   这和sql server management studio不一样的; 看一下部门表dept的数据如下;   输入语句新建一个表; 切换到新建表的数据tab, 通过点上方图

    2024年02月07日
    浏览(32)
  • Oracle 数据库实现主键字段自增的方法

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 在 Oracle 数据库中,实现主键字段的自增功能对于确保数据的唯一性和简化数据插入操作非常重要。本文将介绍如

    2024年02月12日
    浏览(35)
  • 给oracle逻辑导出clob大字段、大数据量表提提速

    Oracle在做数据迁移、还原测试库以及其他需要导出、导入数据的需求下,我们常用到数据泵来进行数据的转移操作,但往往很多事后我们要操作的库数据量都非常大,且数据库中clob字段非常多,就给我们导出带来了一些问题,导出慢或者卡在那里很久不动等问题; 有小伙伴

    2024年02月11日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包