了解mysql concat()函数
concat(arg1,arg2,....):将形参对应字段的值组合成一个字符串
假设:现在有一张学生表(test_user)
将这三个字段组合成一个字符串作为第四个字段
select test_user.*,
concat(test_user.id,test_user.`name`,test_user.sex) as introduction
from
test_user
GROUP BY `name`;
但是查询出来的数据没有分割符,可以在concat中加入常量
select test_user.*,
concat(test_user.id,',',test_user.`name`,',',test_user.sex) as introduction
from
test_user
GROUP BY `name`;
这样写如果分隔符都一样,又要一直加,那不是很麻烦。
mysql提供另一个函数concat_ws(separator,arg1,arg2,.....),第一个参数为分隔符,第二个以后的参数为字段名
select
u.*,
concat(u.id,',',u.`name`,',',u.sex) as introduction,
CONCAT_WS('.',u.id,u.`name`,u.sex) as xinxi
from
test_user u
GROUP BY u.`name`;
这些只是对单条记录数据的拼接。
现在多了张课程表(test_subject)
想查询每个学生的课程有哪些
select * from test_user LEFT JOIN test_subject on test_user.id = test_subject.user_id;
但是这样看起来不够直观。那就干脆先按名称分组。
select
*
from
test_user LEFT JOIN test_subject
on test_user.id = test_subject.user_id
GROUP BY test_user.`name`;
但是分完组之后,课程只剩下一个了,没有达到预期的要求,
mysql提供一个函数GROUP_CONCAT(arg1),内部的形参在分组时,则在arg1字段中将属于该分组的值字段进行拼接,拼接顺序会被order by影响
select
test_user.*,
GROUP_CONCAT(test_subject.`subject`) as `subject`
from
test_user LEFT JOIN test_subject
on
test_user.id = test_subject.user_id
GROUP BY
test_user.`name`;
完成。清晰明了的显示各个学生所有的科目。
了解mysql concat()函数的更多相关文章
- MySQL concat函数的使用
MySQL concat函数是MySQL数据库中众多的函数之一,下文将对MySQL concat函数的语法和使用进行说明,供您参考和学习. MySQL concat函数使用方法:CONCAT(str1 ...
- [转载]MySQL concat函数的使用
MySQL concat函数是MySQL数据库中众多的函数之一,下文将对MySQL concat函数的语法和使用进行说明,供您参考和学习. MySQL concat函数使用方法:CONCAT(str1 ...
- 带您了解mysql CONCAT()函数
CONCAT()函数是mysql中非常重要的函数,可以将多个字符串连接成一个字符串,下文对该函数作了详细的阐述,希望对您有所帮助. mysql CONCAT()函数用于将多个字符串连接成一个字符串,是 ...
- mysql CONCAT函数
有时候我们需要使用coacat函数拼接一些字段的生成一个字符串,比如:select concat(field1,field2,field3) from xxx: 这时候我们就会的到一个这些字段的值拼 ...
- 连接列值 mysql CONCAT函数
mysql concat(str1,str2,...) 返回结果为连接参数产生的字符串,如果任何一个参数带有null,则返回结果为null.如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如 ...
- mysql concat函数进行模糊查询
concat() 函数,是用来连接字符串. 精确查询: select * from user where name=”zhangsan” 模糊查询: select * from user where ...
- MySQL concat函数里面单引号的使用
通过concat拼字符串的时候,如果语句里面需要使用单引号,可以使用两个单引号来代替一个引号
- ThinkPHP第十一天(关联模型使用,独立分组配置,MySQL concat用法)
1.关联模型的使用 定义方式:新建一个类文件UserRelationModel.class.php Class UserRelationModel extends RelationModel{ pro ...
- MySQL中concat函数(连接字符串)
MySQL中concat函数使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串 ...
随机推荐
- 「GM_脚本」获取 GitHub 项目文件的 jsDelivr CDN 地址「好像没啥用系列」
基本信息: name:「 GitHub 」获取文件的 jsDelivr 地址 desc:获取项目文件的 CDN 地址 url: https://github.com/wdssmq/userscript ...
- WinForm PerformClick()
在Winfrom开发中,经常遇到调用Click事件,如:btn_click(null,null),其实winfrom也自带一个模拟点击事件:PerformClick(),区别就是:前者无论控件是否En ...
- js遍历终极大法--再也不用苦逼的for循环了
while循环 while后面跟循环条件和执行语句,只要满足条件,就会一直执行里面的执行 var i = 0 while(i<10){ console.log(i) i++ } do...whi ...
- 第一个Java文件
HelloWorld 1.新建一个文件夹,用来存放java文件的 2.用subline来编辑第一个Java文件 要注意的是java的文件名为.java 我们自定义的文件名是Hello 3.编写第一个j ...
- 1051 Pop Sequence (25分)栈
刷题 题意:栈的容量是5,从1~7这7个数字,写5个测试数据 做法:模拟栈 #include<bits/stdc++.h> using namespace std; const int m ...
- 【笔记】偏差方差权衡 Bias Variance Trade off
偏差方差权衡 Bias Variance Trade off 什么叫偏差,什么叫方差 根据下图来说 偏差可以看作为左下角的图片,意思就是目标为红点,但是没有一个命中,所有的点都偏离了 方差可以看作为右 ...
- Element Vue 开箱即用框架如何使用-测试开发【提测平台】阶段小结(二)
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 上一篇总结了后端服务接口的开发,这篇我们主要来总结下前后端分离开发中的前端部分,主要是开箱即用的框架介绍和之前章节组件的梳理和部分的扩展内 ...
- 是的你没看错,HTTP3来了
目录 简介 HTTP成长介绍 不同HTTP协议解决的问题 HTTP3和QUIC TLS1.3 解决HoL阻塞 连接的迁移 总结 简介 很多小伙伴可能还沉浸在HTTP1.1的世界无法自拔,但是时代的洪流 ...
- Sadmin:打造私有Django公共库实现代码复用
我们借助于Django开发了许多的内部管理系统,例如之前介绍过的Probius.Kerrigan.Proxy等等,这些系统看起来长的都一样,但实际实现的功能确是千差万别,这些不同的系统为什么会长的一样 ...
- ASP.NET Core教程:在ASP.NET Core中使用HttPClient调用WebService
一.前言 在以前的一篇文章中,曾经讲述过如何在ASP.NET Core中调用WebService.但是那种方式是通过静态引用的方式去调用的,如果是在生产环境中,肯定不能使用这种方式去调用,幸运的是微软 ...