最近在使用数据库迁移适配,由MySQL 库迁移到达梦数据库,其中进行行转列时,MySQL转换达梦sql语法有些问题,特记录。

      在MySQL 下有Group_Concat(expr)  ,在达梦及神通数据库下如何转换,有没有同样或者类似功能的函数呢?请看下面记录。

      MySQL中 Group_Concat(expr)  函数支持 内部自定义连接分割符,使用时只需要 添加 SEPARATOR ';' 即可(表示使用 分号符 连接)。 默认 逗号 连接

      达梦数据库(DM) 或着神通数据库(oscar) 使用 WM_Concat(expr) ,默认 逗号(英文逗号) 连接,如果使用自定义连接符,需要使用 replace(str,exp1,exp2) 函数,示例:replace(name,',',';')  使用 分号符 替换原来的 逗号符。

  MySQL 中行转列常用 函数:Group_Concat(expr):

    示例-表A :select name ,age,sex ,favorite from student      ---操作合并示例  favorite 字段  【favorite 字段值:1、篮球,2、足球,3、篮球,4、游泳】

    MYSQL: select Group_Concat(favorite) from student where name='zhangsan';       ----最终结果 favorite 中字段以【,】 连接 结果示例:篮球,足球,篮球,游泳

    去重:select Group_Concat(DISTINCT  facorite) from student where name='zhangsan';   ----最终结果 favorite 中字段以【,】 连接 结果示例:篮球,足球,游泳

    去重后以【;】连接:select Group_Concat(DISTINCT  facorite SEPARATOR ';')  from student where name='zhangsan'; ----最终结果 favorite 中字段以【;】 连接 结果示例:篮球;足球;游泳

  DM 中行转列/与MYSQL中同样作用 函数:WM_Concat(expr):

    示例(以MySQL中sql表示例):select name ,age,sex ,favorite from student      ---操作合并示例  favorite 字段  【favorite 字段值:1、篮球,2、足球,3、篮球,4、游泳】

    DM: select WM_Concat(favorite) from student where name='zhangsan';       ----最终结果 favorite 中字段以【,】 连接 结果示例:篮球,足球,篮球,游泳

    去重:select WM_Concat(DISTINCT  facorite) from student where name='zhangsan';   ----最终结果 favorite 中字段以【,】 连接 结果示例:篮球,足球,游泳

    去重后以【;】连接:select  replace(WM_Concat(DISTINCT  facorite),‘,’,‘,’  )from student where name='zhangsan'; ----最终结果 favorite 中字段以【;】 连接 结果示例:篮球;足球;游泳

  注:神通数据库中行转列/与MySQL 中合并字符串函数一致的 也可以使用 WM_Concat(expr):  目前还没有使用神通数据库,不过也快了,使用了再更新。

  

  以上为本次记录,后期继续更新。转载请注明出处,感谢!如有不合理之处,请大家多多指教。

  如果您觉得本文对您有帮助,欢迎点击“收藏”按钮!(/:微笑)欢迎转载,转载请注明出处

MySQL、DM 行转列及字段去重(Group_Concat())的更多相关文章

  1. 关于MySQL的行转列的简单应用(二)---group函数

    MySQL的行转列.列转行.连接字符串  concat.concat_ws.group_concat函数用法使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一 ...

  2. mysql之行转列与列转行

    mysql之行转列与列转行是数据查询的常见操作,以更好的来展示数据,下面就详细说说怎么实现. 行转列 行转列的话,就是将一条一条的行数据记录转换为一条列数据展示,一般来说是根据某一列来做汇总数据的操作 ...

  3. Mysql数据处理/行转列/列转行/分割/拼接/数据复制汇总

    mysql数据处理记录(使用的 Workbench) 生成随机数 逗号或分号拼接的字符串分割成多行 多行数据转化成用逗号拼接的字符串 将A表的数据添加到B表 一.生成随机数 生成18位:(19位就加颗 ...

  4. mysql动态行转列

    测试数据 DROP TABLE IF EXISTS `score`; CREATE TABLE `score` ( `id` ) NOT NULL AUTO_INCREMENT, `class` ) ...

  5. mysql实现行转列功能

    实现从图一转行成图二的功能: 图一: 图二: 建表语句: CREATE TABLE `t_user_score` ( `id` ) NOT NULL AUTO_INCREMENT COMMENT '主 ...

  6. MySQL数据库行转列

    一.数据源如下所示 二.对应SQL语句如下所示 -- 行转列 SELECT t1.`产品名称`, SUM(CASE t1.`日期` WHEN '2019-11-11' THEN t1.`数量` ELS ...

  7. 关于MySQL的行转列的简单应用

    sql 脚本 -- 创建表 学生表 CREATE TABLE `student` ( `stuid` VARCHAR(16) NOT NULL COMMENT '学号', `stunm` VARCHA ...

  8. mySQL的行转列

    因为MYSQL里边没有  PIVOT      现记录:   原表格:   mysql语句: SELECT MAX(CASE WHEN corol='红' THEN NUM else 0 END) A ...

  9. mysql 动态行转列

    表结果:create table user( id int , username ), create_time datetime, type int ) insert into user (`id`, ...

随机推荐

  1. 2016年第七届蓝桥杯【C++省赛B组】F、G、H、J 题解

    F. 方格填数 #深搜 题意 有\(10\)个格子,填入0~9的数字.要求:连续的两个数字不能相邻.(左右.上下.对角都算相邻),求可能的填数方案数. +--+--+--+ | | | | +--+- ...

  2. mq中nio

    MappedFile#appendMessagesInner

  3. [BUGCASE]Webpack打包报JavaScript堆内存泄漏的错误

    一.问题描述 执行npm run build之后报错: 报错信息: FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript he ...

  4. 2. 三数之和(数组、hashset)

    思路及算法: 该题与第一题的"两数之和"相似,三数之和为0,不就是两数之和为第三个数的相反数吗?因为不能重复,所以,首先进行了一遍排序:其次,在枚举的时候判断了本次的第三个数的值是 ...

  5. 如何测试一个APP

    1.是否支持各种手机系统 2.是否会因为分辨率而出错 3.不同机型能否安装 4.老旧机型 能否通用 5.广告时长 6.测试能否登陆注册 7.卸载时是否会发生意外 8.安装时会不会误认为带病毒 9.用户 ...

  6. 老猿学5G扫盲贴:3GPP中的5G计费架构

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.计费逻辑架构和信息流 在32240子系列文档内 ...

  7. 第14.9节 Python中使用urllib.request+BeautifulSoup获取url访问的基本信息

    利用urllib.request读取url文档的内容并使用BeautifulSoup解析后,可以通过一些基本的BeautifulSoup对象输出html文档的基本信息.以博文<第14.6节 使用 ...

  8. MDX非常规百分比算法-过滤数据后的百分比

    网上有很多关于占比的帖子,基本上都是按照层次结构来做的,比如某个子项占总体的百分比(\all).某个子项占父项的百分比(\parent).某个子项占其祖先的百分比(\ancestor)....等等,如 ...

  9. 面试阿里,字节,腾讯90%被问到的springboot常见面试题,这次给你讲的明明白白!

    1.什么是Spring Boot? 多年来,随着新功能的增加,spring变得越来越复杂.只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有 ...

  10. PHP代码审计分段讲解(6)

    14 intval函数四舍五入 <?php if($_GET[id]) { mysql_connect(SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT,SAE_M ...