函数使用说明:该函数返回带有来自一个组的连接的非NULL 值的字符串结果。其完整的语法如下

GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr }
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val ])

例子:

SELECT uin FROM sys_user where uin<240;

结果:

# uin
'1'
'2'
'3'
'44'
'176'
'196'
'204'
'210'
'215'
'237'
'238'

SELECT group_concat(uin,'') FROM sys_user where uin<240;

结果:

示例3:

SELECT uin FROM sys_user where uin=2 or create_user_uin_tree like '%_2_%';

找到管理员及下级管理员所创建的角色:

SELECT * FROM sys_role  where ( role_type=1 AND  ain in(select uin FROM sys_user where create_user_uin_tree like '%_2_%') ) OR role_id=1;

或者:

SELECT * FROM sys_role  where ( role_type=1 AND  ain in(select group_concat(uin) FROM sys_user where create_user_uin_tree like '%_2_%') ) OR role_id=1;

但查不出结果来,为什么呢?

因为 group_concat(uin) 得到的结果被当作一个元素,而不是用逗号分隔的一系列value,如何才能得到我想要的效果呢

网络上有说用find_in_set()方法的,如下所示:

SELECT * FROM sys_role  where ( role_type=1 AND  find_in_set(ain,select group_concat(uin) FROM sys_user where create_user_uin_tree like '%_2_%') ) OR role_id=1;

但有语法错误,如图所示,暂时无法解决

mysql函数之五:group_concat mysql 把结果集中的一列数据用指定分隔符转换成一行的更多相关文章

  1. mysql函数之八:mysql函数大全

    对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql& ...

  2. sql语句中避免使用mysql函数,提升mysql处理能力。

    如下sql中不要用mysql内置函数now()等,这样第一可以提高sql执行效率,第二统一程序层处理sql中时间参数,避免因服务器时间差导致问题产生. 使用PDO预处理,第一可以提高sql效率,第二可 ...

  3. mysql函数之六:mysql插入数据后返回自增ID的方法,last_insert_id(),selectkey

    mysql插入数据后返回自增ID的方法 mysql和oracle插入的时候有一个很大的区别是,oracle支持序列做id,mysql本身有一个列可以做自增长字段,mysql在插入一条数据后,如何能获得 ...

  4. mysql 多行(GROUP_CONCAT)和多列(CONCAT)的合并函数

    1,多行合并:把查询的一行或者多行进行合并. SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id ...

  5. 【转】mysql函数

    MySQL函数 MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: 系统信息函数: 加密函数: 格式化函数: 一.数学函数 数学函数主要用于处理数字,包括 ...

  6. 第二百八十五节,MySQL数据库-MySQL函数

    MySQL数据库-MySQL函数 1.MySQL内置函数 SELECT执行函数,后面跟要执行的函数 CHAR_LENGTH(str)函数:返回字符串的字符长度 -- CHAR_LENGTH(str)函 ...

  7. mysql 将多个查询结果合并成一行

    mysql中的多行查询结果合并成一个 SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND ...

  8. mysql 字段类型VARCHAR转换成DECIMAL

    在我们写代码的实际业务中,有时候实体类用的是String,数据库中自然是VARCHAR类型,但是如果这个实体的属性值放的是数字类型,你查询的时候又需要对它进行排序.sql怎么写呢. 别担心mysql提 ...

  9. mysql两表合并,对一列数据进行处理

    加班一时爽,一直加班~一直爽~  欢迎收看http://www.996.icu/ 今天弄了下MySQL中两表合并的并且要处理一列数据,这列数据原来都是小写字母,处理时将这列数据改成驼峰命名的~~ 基本 ...

随机推荐

  1. Service Meth and SideCar

    本文转自:http://philcalcado.com/2017/08/03/pattern_service_mesh.html SideCar: SideCar就是与Application一起运行的 ...

  2. SpringMVC实现AJax以及RestFull风格

    RestFull风格就是url路径中不能出现?不能带参数,如https://www.baidu.com/user/item/1234这个格式,也叫url资源定位 1.需要在web.xml中开启put, ...

  3. 【P2422】良好的感觉(单调栈优化DP//奇怪的暴力)

    话说正解是单调栈优化DP,然而貌似根据某种玄学的推算,这个题暴力出解貌似也是可以的.首先,我们枚举所有的点作为最小点,然后横向展开,遇到更小的就停止...然后再操作一下,看上去时间O(N^2),然而由 ...

  4. centos下安装python2.7.9和pip以及数据科学常用的包

    以前一直用ubantu下的python,ubantu比较卡.自己倾向于使用centos,但默认的python版本太低,所以重新装了一个python和ipython centos6.5安装python2 ...

  5. 关于hadoop setCombinerClass 与 setReducerClass同时使用存在的问题。

    最近在学习hadoop mapreduce编程的过程中遇到一个莫名奇妙的问题.最后通过调试时发现同时使用setCombinerClass(Reducer.class)  与  setReducerCl ...

  6. 卸载 Oracle 的 JDK

    mac $ java -version java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_6 ...

  7. 10-THREE.JS perspective透视摄像机和orthographic正交摄像机区别

    <!DOCTYPE html> <html> <head> <title></title> <script src="htt ...

  8. Java 模拟ATM(修正)

    ATM机的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,操作日期(Date),操作类型,账户密码(六位的数字,可以用0开头),当前的余额(可以为0). 模拟AT ...

  9. hdu--1878--欧拉回路(并查集判断连通,欧拉回路模板题)

     题目链接 /* 模板题-------判断欧拉回路 欧拉路径,无向图 1判断是否为连通图, 2判断奇点的个数为0 */ #include <iostream> #include <c ...

  10. 网络编程基础--多线程---concurrent.futures 模块---事件Event---信号量Semaphore---定时器Timer---死锁现象 递归锁----线程队列queue

    1 concurrent.futures 模块: # from abc import abstractmethod,ABCMeta # # class A(metaclass=ABCMeta): # ...