MySQL字符串拼接与分组拼接字符串实例代码

目录
  • 一、经典拼接concat(x,x,....)
  • 二、分隔符拼接CONCAT_WS(separator,str1,str2,...)
  • 三、分组拼接GROUP_CONCAT(expr)
  • 补充:在筛选查询中进行字符串拼接并显示在表格里
  • 总结

一、经典拼接concat(x,x,....)

用法案例:

SELECT
	concat( '字符串', '拼接', ',啥都可以', '嘿嘿' ) AS concats
FROM DUAL

注意

如果有任何一个参数为NULL,则返回值为NULL;

二、分隔符拼接CONCAT_WS(separator,str1,str2,...)

-- CONCAT_WS(分隔符,字符串1,字符串2,...)
SELECT
	CONCAT_WS(':','现在时间',now()) AS concats
FROM DUAL


注意

  • 如果分隔符为NULL,则结果为NULL;

三、分组拼接GROUP_CONCAT(expr)

group_concat函数

  • 实现分组查询之后的数据进行合并,并返回一个字符串结果。
  • 用于将多个字符串拼接成一个字符串。
  • MySql默认的最大拼接长度为1024个字节

格式:GROUP_CONCAT(DISTINCT 要拼接的字段 ORDER BY 排序字段 ASC/DESC SEPARATOR '分隔符')

-- GROUP_CONCAT(DISTINCT 要拼接的字段  ORDER BY 排序字段 ASC/DESC SEPARATOR '分隔符')
-- 不好写例子,直接借用的leetCode上的题
SELECT
	sell_date,
	count( DISTINCT product ) AS num_sold,
	GROUP_CONCAT( DISTINCT product ORDER BY product SEPARATOR ',' ) AS products
FROM
	Activities
GROUP BY
	sell_date;

通过使用DISTINCT可以排除重复值;如果希望对结果中的值进行排序,可以使用ORDER BY子句;SEPARATOR是一个字符串值,默认为逗号分隔。

补充:在筛选查询中进行字符串拼接并显示在表格里

有时,我们需要拼接的返回值放在表格中与其他信息一起显示。

比如招生老师想把候选人的「学历」「姓名」「学科」单独提出来,筛选出研究生学历的候选人,并显示他们的联系方式:

SELECT CONCAT(qualification, ' ', firstname, ' - ', subject) AS 候选人资料, wechat_id, phone FROM kalacloud_student WHERE qualification = 'MPhil';

在使用 CONCAT() 拼接信息的同时,使用 WHERE 筛选出研究生学历(MPhil)的候选人

总结

到此这篇关于MySQL字符串拼接与分组拼接字符串的文章就介绍到这了,更多相关MySQL字符串拼接内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MySQL实现字符串的拼接,截取,替换,查找位置的操作

    MySQL字符串的拼接.截取.替换.查找位置. 常用的字符串函数: 函数 说明 CONCAT(s1,s2,...) 返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为NULL则返回值为NULL. CONCAT_WS(x,s1,s2,...) 返回多个字符串拼接之后的字符串,每个字符串之间有一个x. SUBSTRING(s,n,len).MID(s,n,len) 两个函数作用相同,从字符串s中返回一个第n个字符开始.长度为len的字符串. LEFT(s,n).RIGHT(s,n) 前者返

  • MySql逗号拼接字符串查询的两种方法

    下面两个函数的使用和FIND_IN_SET一样,使用时只需要把FIND_IN_SET换成FIND_PART_IN_SET或FIND_ALL_PART_IN_SET 例如某字段里是为1,2,3,4,5 使用方法: 第一种,传入1,3,6  可以查出来 select * from XXX where FIND_PART_IN_SET('1,3,6','1,2,3,4,5') 第二种,传入1,3,6  查不出来 select * from XXX where FIND_ALL_PART_IN_SET(

  • MySQL拼接字符串函数GROUP_CONCAT详解

    上一篇文章 跨表更新,看到自己写的SQL像个憨憨写了关于跨表个更新的内容.一年过的很快,文中后来的两位员工 馮大 和 馮二 也要面对无情的 KPI 考核了,他们工作干的很不错,performance 分别是 4 和 5 新需求来了,静悄悄的来了!!! 领导想要查看每个 performance 下都有谁,同时要求将这些人的名称要逗号拼接成一个字符串,也就是说要得到下面的结果: 要将结果集中某个指定的列进行字符串拼接,这要怎么做呢?主角闪亮✨登场 GROUP_CONCAT(expr) 在 Mysql

  • MySQL字符串拼接与分组拼接字符串实例代码

    目录 一.经典拼接concat(x,x,....) 二.分隔符拼接CONCAT_WS(separator,str1,str2,...) 三.分组拼接GROUP_CONCAT(expr) 补充:在筛选查询中进行字符串拼接并显示在表格里 总结 一.经典拼接concat(x,x,....) 用法案例: SELECT concat( '字符串', '拼接', ',啥都可以', '嘿嘿' ) AS concats FROM DUAL 注意: 如果有任何一个参数为NULL,则返回值为NULL: 二.分隔符拼

  • Java Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换实例代码

    首先是网上大神给的类 package com.duanlian.daimengmusic.utils; public final class Base64Util { private static final int BASELENGTH = 128; private static final int LOOKUPLENGTH = 64; private static final int TWENTYFOURBITGROUP = 24; private static final int EIGH

  • C# 根据字符串生成二维码的实例代码

    1.先下载NuGet包(ZXing.Net) 2.新建控制器及编写后台代码 using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Web; using System.Web.Mvc; using ZXing; using ZXing.QrCode; nam

  • MySQL分类排名和分组TOP N实例详解

    目录 表结构 题目一:获取每个科目下前五成绩排名(允许并列) 分析: 题目二:获取每个科目下最后两名学生的成绩平均值 分析: 题目三:获取每个科目下前五成绩排名(不允许并列) 分析: 总结 表结构 学生表如下: CREATE TABLE `t_student` ( `id` int NOT NULL AUTO_INCREMENT, `t_id` int DEFAULT NULL COMMENT '学科id', `score` int DEFAULT NULL COMMENT '分数', PRIM

  • python3.6连接MySQL和表的创建与删除实例代码

    python3.6不支持importMySQLdb改用为importpymysql模块,需要自行安装模块pymysql. 1:python3.6安装模块pymysql 命令行安装pipinstallpymysql 2:python3.6连接mysql数据库 #!/bin/env Python # -*- coding:utf-8 -*- import pymysql conn = pymysql.connect( user="root", password="root@123

  • MYSQL自定义函数判断是否正整数的实例代码

    可以写一个函数: 主要是使用正则来判断.另外输入字符是空的话,使用"-"来替换. CREATE FUNCTION [dbo].[svf_NonNegativeInteger] ( @val NVARCHAR(4000) ) RETURNS BIT AS BEGIN DECLARE @rtv BIT = 1 SET @val = ISNULL(LTRIM(RTRIM(@val)), N'-') IF @val LIKE '%[^0-9]%' OR @val = N'' SET @rtv

  • Python中的groupby分组功能的实例代码

    pandas中的DataFrame中可以根据某个属性的同一值进行聚合分组,可以选单个属性,也可以选多个属性: 代码示例: import pandas as pd A=pd.DataFrame([['Beijing',1.68,2300,'city','Yes'],['Tianjin',1.13,1293,'city','Yes'],['Shaanxi',20.56,3732,'Province','Yes'],['Hebei',18.77,7185,'Province','No'],['Qing

  • Java8进行多个字段分组统计的实例代码

    Java8进行多个字段分组统计实现代码如下: // 分组统计 Map<String, Long> countMap = records.stream().collect(Collectors.groupingBy(o -> o.getProductType() + "_" + o.getCountry(), Collectors.counting())); List<Record> countRecords = countMap.keySet().stre

  • oracle 函数判断字符串是否包含图片格式的实例代码

    首先是写一个分割字符串的函数,返回table类型 CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN ty_str_split IS j INT := 0; i INT := 1; len INT := 0; len1 INT := 0; str VARCHAR2 (4000); str_split ty_str_split := ty_str_split (); BEGI

  • mysql中的一些稍微复杂用法实例代码

    前言 mysql的语法相信对大家来说都不是难事,但是本文主要给分享了一些mysql复杂用法的相关内容,通过这篇文章相信大家会对mysql更深的了解一些,下面话不多说了,来一起看看详细的介绍吧 一对多数据显示成一行 GROUP_CONCAT(expr) 1.涉及的表关系:teacher表.teacher_subject_rel表(教师所能教的学科表).subject表 2.业务场景: 需要拉取所有教师的编号(teacher_no).学科名(subject_name). &nbsp 教师表(teac

随机推荐