mysql GROUP_CONCAT 查询某个字段(查询结果默认逗号拼接)

Mysql 的 GROUP_CONCAT 函数默认将查询的结果用逗号拼接并返回一个字符串,如:李四,long,张三

1. 常用方式

select GROUP_CONCAT(user_name) userName from user where type = 1

2. GROUP_CONCAT 结合 IN 的使用

-- 查询指定id对应的name值,返回结果为 name7,name4,name2,name5    order by field(org_id,0,7,4,2,5)表示按照给定字段的顺序排序查询结果

select GROUP_CONCAT(org_name order by field(org_id,0,7,4,2,5)) from hgis_org where org_id in ( 0,7,4,2,5 )

--------------------

注意:group_concat在使用时,如果查询的结果发现不完整,可能是因为数据库默认的group_concat_max_len值不够大,需要修改mysql配置文件中的group_concat_max_len值。

原文地址:https://www.cnblogs.com/chenmz1995/p/10771839.html

时间: 2024-08-28 08:50:03

mysql GROUP_CONCAT 查询某个字段(查询结果默认逗号拼接)的相关文章

ORACLE查询当前资产状态,和另一个数据库联查,(查询重复数据中第一条),子查询作为字段查询

背景:ORACLE查询当前资产状态,包含资产信息(表1),资产维修状态(表2),资产报废状态(表3) 如下: 资产信息: 资产维修: 资产报废: 资产申请完了以后可以申请当前资产的维修和报废,其中维修有两个流程,一个是申请维修,然后维修.对应的都需要启动相应的流程去申请维修或者报废 流程表如下: 查询当前所有的资产以及对应的资产状态(维修状态,报废状态):sql语句如下: select t.ASSET_ID             as assetId,       t.ASSET_NAME  

ORM单表查询,跨表查询,分组查询

单表查询之下划线 models.Tb1.objects.filter(id__lt=10, id__gt=1) # 获取id大于1 且 小于10的值models.Tb1.objects.filter(id__in=[11, 22, 33]) # 获取id等于11.22.33的数据models.Tb1.objects.exclude(id__in=[11, 22, 33]) # not in models.Tb1.objects.filter(name__contains="ven")

MySQL单表多字段模糊查询解决方法

在最近的一个项目需要实现在单表中对多字段进行多个关键字的模糊查询,但这数个关键字并不一定都存在于某个字段 例如现有table表,其中有title,tag,description三个字段,分别记录一条资料的标题,标签和介绍.然后根据用户输入的查询请求,将输入的字串通过空格分割为多个关键字,再在这三个字段中查询包含这些关键字的记录. 可目前遇到的问题是,这些关键字是可能存在于三个字段中的任意一个或者多个,但又要求三个字段必须包含所有的关键词.如果分别对每个字段进行模糊匹配,是没法实现所需的要求,由此

MySQL获取或者查询数据库字段的特定几位

更多:http://www.webyang.net/Html/web/article_138.html mysql经常会用来查询特定字段,偶尔会需要展示特定字段中值的某部分,这个时候怎么处理呢? 然后还有模糊查询的时候,如果需要匹配中间的某部分值,这个时候like就很尴尬,会多出一些不相干的记录,这又该怎么处理呢? 一.获取特定的几位: 1.取url字段后三位字符 select SUBSTRING(url, -3) from link; #这种只能针对固定长度,比说url共8个字符,可以下面这种

mysql 中查询一个字段是否为null的sql

查询mysql数据库表中字段为null的记录: select * 表名 where 字段名 is null 查询mysql数据库表中字段不为null的记录: select * 表名 where 字段名 is not null 例如: select * from table where column is null; select * from table where column is not null;

mysql数据库查询之对应库对应表中的注释信息查询以及加字段查询

select * from information_schema.columns where table_schema = 'db' #表所在数据库 and table_name = 'tablename' ; #你要查的表 除了上述方法外还可以加上字段查询 使用mysql -uyourroot -pyourpassword 登录数据库 再使用use database:选中数据库 就可以在mysql查询表中包含有该字段中的行对应的注释信息 其中'WH_BU_ORDER_RELATION'为数据库

mysql单表多表查询

单表查询语法: select 字段1,字段2... from 表名where 条 件group by fieldhaving 筛选order by 字段limit 限制条数 关键字的优先级:from > where > group by > having > select > distinct > order by > limit; 1.找到表:from 2.拿着where指定的约束条件,去文件/表中取出一条条记录 3.将取出的一条条记录进行分组group by,

转MYSQL学习(四) 查询

MySQL中select的基本语法形式: select 属性列表 from 表名和视图列表 [where 条件表达式] [group by 属性名[having 条件表达式]] [order by 属性名[asc|desc]] [limit <offset>,row count] 说明: where子句:按照“条件表达式”指定的条件进行查询. group by子句:按照“属性名”指定的字段进行分组. having子句:有group by才能having子句,只有满足“条件表达式”中指定的条件的

MySQL 数据库之单表查询

一.查询语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二.关键字执行优先级 from where group by having select distinct order by limit 1.找到表:from 2.拿着where指定的约束条件,去文件/表中取出一条条记录 3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组 4