前言

标题几乎已经说的很清楚了,在oracle中,concat()函数和 “ || ” 这个的作用是一样的,是将不同列拼接在一起;那么wm_concat()是将同属于一个组的(group by)同一个字段拼接在一起变成一行。mysql是一样的,只不过mysql用的是group_concat()这个函数,用法是一样的,这里就不过多介绍了。大家可以直接戳这篇文章 了解 浅析MySQL中concat以及group_concat的使用

这里我就以oracle介绍为主了,mysql同样的方法使用,就是换一个函数就是了。

wm_concat()和concat()具体的区别

oracle中concat()的使用 和 oracle中  “ || ” 的使用

这两个都是拼接字段或者拼接字符串的功能。

oracle中:

concat只能连接两个字符串或者两个字段,|| 可以多次使用,拼接n个字符串或者字段。

select concat('aaa','bbb') from dual /*结果为:aaabbb*/

select 'aaa'||'bbb'||'ccc'||'ddd' from dual /*结果为:aaabbbcccddd*/

如果concat()拼接多个话,就会报错,

mysql中

concat()的使用,是可以连接多个字符串或者字段的。

select concat('aaa','bbb','ccc','ddd') from dual /*mysql中执行 结果为:aaabbbcccddd*/

wm_concat()的使用

我看了大多数博客对wm_concat()这个个函数的介绍,我觉得都介绍的不是很完美,他们都是简单的说 这个是合并列的函数,但是我总结的概括为:把同组的同列字段合并变为一行(会自动以逗号分隔)。什么意思呢,举个例子呗。

现在我有一张成绩表,如图,

stuid 同学学号         coursename 课程名称            score 课程成绩

说明一下,设计成绩表的时候,这里的coursename最好是设计成courseid,和课程表去关联,但是这里我就是测试,为了更简单的表达效果,所以这里暂时就以课程名称来设计了,希望大神不要喷我设计的表有问题哈,我数据库设计表也还是挺厉害的勒,嘿嘿,自恋一下。

问题:现在要将同一个同学的所有课程成绩以一行展示,sql怎么写呢?

/*简单的合并同一个同学的课程*/

select stuid,wm_concat(coursename)

from stu_score

group by stuid

我们再优化一下SQL,将成绩也放进去

/*同一个同学的课程+成绩*/

select stuid,wm_concat(coursename || '(' || score||')')

from stu_score

group by stuid

如果不想用逗号分隔,可以用replace函数替换逗号为你想要的分隔符号,

/*同一个同学的课程+成绩,指定想要的分隔符*/

select stuid,replace(wm_concat(coursename || '(' || score||')'),',','---')

from stu_score

group by stuid

mysql是一样的用法,把wm_concat 换成 group_concat()就可以啦,具体可以参考这篇文章的使用:浅析MySQL中concat以及group_concat的使用

不知道大家学会这个wm_concat()这个函数的用法了吗

参考文章:

感谢原作者的分享,让技术人能够更快的解决问题

本文分享 CSDN - 小小鱼儿小小林。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

mysql 类似wm concat_oracle的wm_concat()和mysql的group_concat()合并同列变成一行的用法以及和concat()合并不同列的区别...相关推荐

  1. mysql 类似wm concat_oracle中有没有类似于mysql中的group_concat的函数?

    11g及更高:使用listagg:SELECT col1, LISTAGG(col2, ', ') WITHIN GROUP (ORDER BY col2) "names"FROM ...

  2. 万网mysql管理_万网虚拟主机mysql/sql server数据库怎样通过DMS在线管理?

    登录数据库 一.概述 DMS(原iDB Cloud)是一款访问管理云端数据的WEB服务,支持MySQL.SQL Server.PostgreSQL和ADS等数据源,覆盖RDS.ADS.TAE和万网等阿 ...

  3. mysql类似的数据库_MemSQL学习笔记-类似MySQL的数据库

    http://gigaom.com/cloud/ex-facebookers-launch-memsql-to-make-your-database-fly/ -- 多主-从 http://www.m ...

  4. MySql类似Oracle的dual虚拟表

    在mysql里也存在和oracle里类似的dual虚拟表:官方声明纯粹是为了满足select ... from...这一习惯问题,mysql会忽略对该表的引用. 你可千万注意了: select * f ...

  5. mysql proxies priv_Mysql 5.7.18 运用MySQL proxies_priv完成类似用户组管理案例分享

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  6. mysql proxies priv_Mysql 5.7.18 利用 MySQL proxies_priv(模拟角色)实现类似用户组管理...

    利用MySQL proxies_priv(模拟角色)实现类似用户组管理 角色(Role)可以用来批量管理用户,同一个角色下的用户,拥有相同的权限. MySQL5.7.X以后可以模拟角色(Role)的功 ...

  7. mysql 数据库安装命令_教你MySQL数据库的编译安装以及命令详解(5.7版本)

    一.安装MySQL所需的环境依赖包 [root@localhost opt]# yum -y install gcc gcc-c++ make ncurses ncurses-devel bison ...

  8. 二进制的mysql怎么装_使用二进制演示MySQL安装步骤

    使用二进制演示MySQL安装步骤 发布时间:2020-06-08 11:36:24 来源:51CTO 阅读:194 作者:三月 不知道大家之前对类似使用二进制演示MySQL安装步骤的文章有无了解,今天 ...

  9. mysql数据库引擎博客_2、MySQL常见数据库引擎及比较?

    摘自: https://www.cnblogs.com/zhuifeng-mayi/p/9265075.html MySQL存储引擎简介 MySQL支持数个存储引擎作为对不同表的类型的处理器.MySQ ...

最新文章

  1. 35. Search Insert Position
  2. 347. 前 K 个高频元素(哈希表)
  3. python中requests的常用方法_python3 Requests常用操作
  4. spark源码编译记录
  5. Rafy 框架-发布网页版用户手册
  6. 使用Stackblitz一分钟之内创建一个Angular应用
  7. Java总结:Spring5框架(1)
  8. live2dviewer android,live2dviewerex安卓版
  9. linux vim文本编辑器
  10. about Microsoft Office SharePoint Portal Server 2003
  11. 转 Silverlight开发历程—(画刷与着色之线性渐变画刷)
  12. 用决策树模型求解回归问题(regression tree)
  13. 设计模式--迭代器模式(C++实现)
  14. c++ DLL-DEF-LIB
  15. SFM图像三维重建(二)
  16. 二阶有源低通滤波器幅频特性
  17. 求当前时间的三种方法(Java)
  18. php blowfish 解密,php blowfish加密解密算法
  19. Camera2 三预览
  20. linux系统怎么连接显示器,Linux下笔记本外接显示器 · Eulerlee

热门文章

  1. android java函数_java – 在android中创建全局函数
  2. 微信公众号怎么快速导出一个月的文章数据
  3. http请求POST方式发送获得返回值
  4. Spring Boot——日志配置
  5. java自定义注解实现日志功能
  6. IoT -- (一) 物联网平台架构设计分析
  7. Java数据库篇3——SQL
  8. n个1组成的整数能被2013整除c语言,求大神解算法,“编写程序,求n至少为多大时,n个1组成的整数能被2013 整除。”...
  9. java内部类为什么使用很少_java内部类有什么好处?为什么需要内部类?
  10. python自动化_Python 实现Excel自动化办公上