首页 > 数据库 >mysql sql同一个字段多个行转成一个字段查询

mysql sql同一个字段多个行转成一个字段查询

时间:2024-09-07 15:26:14浏览次数:8  
标签:GROUP name mysql 行转成 查询 SEPARATOR sql CONCAT

mysql sql同一个字段多个行转成一个字段查询

如果您想要将MySQL中同一个表的不同行的值合并到一个字段中,您可以使用GROUP_CONCAT()函数。这个函数可以将多个行的值连接起来,并且可以通过SEPARATOR关键字指定分隔符。
以下是一个简单的例子,假设我们有一个名为users的表,它有一个name字段,我们想要将所有用户的名字合并到一个字段中,用逗号分隔:

SELECT GROUP_CONCAT(name SEPARATOR ', ') AS names
FROM users;

这将返回一个单一的行,其中包含所有用户名以逗号和空格分隔的字符串。
请注意,GROUP_CONCAT()有一个默认的长度限制,通常是1024个字符。如果您的合并结果可能会超过这个长度,您可以在查询前通过设置group_concat_max_len会话变量来增加这个限制。

SET SESSION group_concat_max_len = 1000000;
SELECT GROUP_CONCAT(name SEPARATOR ', ') AS names
FROM users;

这将设置最大长度为100万个字符。如果您希望这个更改在服务器重启后依然有效,您需要在服务器配置文件中设置它。

#demo:查询gps表的多个设备序列号,组成一行,中间以逗号分隔
SELECT GROUP_CONCAT(serial_number SEPARATOR ', ') FROM `tbl_gps` WHERE car_no = '';

 

标签:GROUP,name,mysql,行转成,查询,SEPARATOR,sql,CONCAT
From: https://www.cnblogs.com/oktokeep/p/18401712

相关文章

  • 呵,老板不过如此,SQL还是得看我
    2018年7月,大三暑假进行时,时间过得飞快,我到这边实习都已经一个月了。我在没工作之前,我老是觉得生产项目的代码跟我平时自学练的会有很大的区别。以为生产项目代码啥的都会规范很多,比如在接口上会做很多安全性的工作(自学练的时候确实学到的类似的案例),代码设计上会有很多设计模式的应......
  • MySQL的安装4000字详解(小白也能看得懂!!!!)
    MySQL的安装与使用2.1.1MySQL发展历史和版本2.2.1MySQL的安装与配置1.下载MySQL安装文件2.选择下载版本3.安装配置MySQL4.选择安装路径,推荐换到D盘!!!!!5.执行安装6.完成安装,点击next7.配置8.设置账户9.配置服务器10.开始执行11设置router配置,默认即可12.输入密码,检查是否......
  • MySQL——视图(二)视图管理(5)修改视图
    1.使用CREATEORREPLACEVIEW语句修改视图        在MySQL中,使用CREATEORREPLACEVIEW语句修改视图,其基本语法格式如下所示:CREATE[ORREPLACE][ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]VIEWview_name[(column_list)]ASSELECT_statement[WITH[CASCADE......
  • 如何实现mysql高可用
      1.机器资源耗尽2.单点故障3.认为操作4.网络 单点故障解决方案?1.搭建mysql主从集群(双主,一主多从,多主多从)2.可以用MyCat,ShardingJdbc实现 A节点同步到B节点流程?1.从库通过IO线程,连接到主库,并且向主库要对应的binlog文件2.主库通过dump线程获取binlog文......
  • MySQL触发器trigger的使用
    Q:什么是触发器?A:触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的特性:1、有beginend体,beginend;之间的语句可以写的简单或者复杂2、什么条件会触发:I、D、U3、什么时候触发:在增删改前或者后4、触发频率:针对......
  • MySQL 性能压测工具-sysbench使用详解
    sysbench是一个开源的、基于LuaJIT(LuaJIT是Lua的即时编译器,可将代码直接翻译成机器码,性能比原生lua要高) 的、可自定义脚本的多线程基准测试工具,也是目前用得最多的MySQL性能压测工具。基于sysbench,我们可以对比MySQL在不同版本、不同硬件配置、不同参数(操作系统和数据......
  • JDBC,SQL注入,事务,C3P0与Druid连接池(最详细解析)bh
    JDBCJDBC(JavaDataBaseConnectivty,Java数据库连接)API,是一种用于执行Sql语句的JavaAPI,可以为关系型数据库提供统一的访问,其由一组Java编写的类和接口组成.JDBC驱动程序起初,SUN公司推出JDBCAPI希望能适用于所有数据库,但实际中是不可能实现的,各个厂商提供的数据库......
  • SQL中的事务、索引、视图、游标、触发器、存储过程概念详解
    SQL中的事务、索引、视图、游标、触发器、存储过程概念详解前几天面试的时候,面试官突然问了句“怎么解释SQL的事务?”,太久没接触了,突然就答不上来这种基础的问题了,好丢捻。于是今天打算整理一下基础概念,发在博客里时刻提醒自己。一、事务想象你正在超市购物。事务就好比你从挑......
  • 升级MySQL5.7,开发要注意哪些坑
    前段时间,将线上MySQL数据库升级到了5.7。考虑到可能产生的不兼容性,在升级之前,确实也是战战兢兢,虽然测试环境,开发环境早在半年前就已提前升级。基于前期的调研和朋友的反馈,与开发相关的主要有两点:sql_modeMySQL5.6中,其默认值为"NO_ENGINE_SUBSTITUTION",可理解为非严格模式,譬如......
  • sqlserver下利用sqlps.exe白名单绕杀软
    sqlserver下利用sqlps.exe白名单绕杀软前言:在一次攻防里通过sqlserver盲注拿到一个执行命令权限,但是由于是盲注回显很有问题以及有杀软,所以利用起来非常难受而且拿不到webshell或者上线c2,所以才找到这个方法。介绍:sqlps.exe是SQLServer附带的一个具有Microsoft签名的二进制文......