MySQL字符串拼接concat()、分组拼接字符串group_concat()

article/2025/9/20 15:30:23

MySQL拼接

    • 一、经典拼接`concat(x,x,....)`
    • 二、分隔符拼接`CONCAT_WS(separator,str1,str2,...)`
    • 三、分组拼接`GROUP_CONCAT(expr)`

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

用法案例:

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

在这里插入图片描述

注意

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

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

-- CONCAT_WS(分隔符,字符串1,字符串2,...)
SELECTCONCAT_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上的题
SELECTsell_date,count( DISTINCT product ) AS num_sold,GROUP_CONCAT( DISTINCT product ORDER BY product SEPARATOR ',' ) AS products 
FROMActivities 
GROUP BYsell_date;

在这里插入图片描述

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

http://chatgpt.dhexx.cn/article/hU8P5uuK.shtml

相关文章

SQL 拼接字符串

不同的数据库,相应的字符串拼接方式不同,下面进行详细讲解。 一、MySQL字符串拼接 1、CONCAT函数 语法格式:CONCAT(char c1, char c2, …, char cn) ,其中char代表字符串,定长与不定长均可以 连接两个字符串 sele…

Mysql之字符串拼接

mysql字符串拼接 两种方式,第一种,使用 “” 进行拼接(错误的方法), 第二种使用Mysql函数CONCAT()等函数。 使用 “” 使用“”进行对数据是加减。不能进行拼接 拼接用法: 数据表: 错误写法&am…

mysql中的实现字段或字符串拼接的三种方式

一、CONCAT函数 concat函数是将多个字段或字符串拼接为一个字符串;但是字符串之间没有任何分隔。 concat函数官方介绍 -- CONCAT函数的语法如下: CONCAT(str1,str2,...) 1.1、拼接非空字段或字符串 SELECT CONCAT(字段1,字段2,字段3,...) from 表名;-- 拼…

mysql 字符串拼接的几种方式

总是记不住字符串拼接,每次都要百度去搜索,所以在这里记录一下,好方便后续的查找,如有错误和问题可以提出,谢谢。 字符串拼接分为几种方式,在这里会一一举例写出: 第一种: mysql自…

Geth搭建私链(最新)

Geth搭建私链 puppeth 是 Geth 中一个非常有用的命令,它允许您使用一个交互式的命令行界面来创建、配置和管理您的私有链。但是在最新版本的Geth中已经删除了用于以动开发的库和puppeth工具,这也就给我们搭建私链增加了负担。 前提条件 1、Geth正确安…

Geth安装

结合了网上各种文章,经过十多个小时的失败,期间还把虚拟机搞得开机不了,但终于成功的安装了geth。下面我会展示我遇到的问题和解决方案 目录 1.系统环境 2.安装基础工具 3.安装cmake 4.安装Golang 5.防火墙及网络时间同步 6.进入geth …

Geth控制台常用命令

1、Geth控制台命令 Geth Console是一个交互式的JavaScript 执行环境,里面内置了一些用来操作以太坊的JavaScript对象,我们可以直接调用这些对象来获取区块链上的相关信息。 这些对象主要包括: # 主要包含对区块链进行访问和交互相关的方法 eth# 主要包含查看p2p 网…

geth控制台控制

目录 geth控制台控制 启动控制台:输出结果直接显示 启动控制台:控制台输出结果写入 output.log 文件,但不能连接MetaMask 退出控制台 常用命令 开始挖矿 停止挖矿 转账 问题:出现报错 password or unlock 问题&#xff1…

geth的安装和使用

geth的安装和使用过程 windows下安装Geth配置和使用搭建私有网络 windows下安装Geth 1.下载地址: https://geth.ethereum.org/downloads/ 下载windows版 2.按指示安装 3.在cmd下进入安装路径,输入geth help查看是否安装成功 出现下面情况表示安装成功…

使用Geth搭建多节点私有链

使用Geth搭建多节点私有链 步骤 1.编辑初始化配置文件genesis.json {"config": {"chainId": 6668,"homesteadBlock": 0,"eip150Block": 0,"eip150Hash": "0x000000000000000000000000000000000000000000000000000000…

以太坊编程-Geth

前提:开发环境为Windows版本 一、下载安装 geth安装官网地址:https://geth.ethereum.org/downloads/ 安装时,根据提示一步一步安装即可 安装完成之后,需要进行配置环境变量 二、创世区块部署 新建.json文件:新建记事…

以太坊开发--geth的使用入门

geth的全称是go-ethereum,是一个以太坊客户端,用go语言编写,应该是目前最常用的客户端。当然以太坊客户端还有用C,Ruby,Python,Java等其他多种语言编写的,不同类型的客户端是为了满足不同的需求场景。今天我们主要来介绍geth(发音…

Geth安装和使用

一、简介 Geth是Go Ethereum开源项目的简称,它是使用Go语言编写且实现了Ethereum协议的客户端软件,也是目前用户最多,使用最广泛的客户端。通过Geth客户端与以太坊网络进行连接和交互可以实现账户管理、合约部署、挖矿等众多有趣且实用的功能…

GETH的安装和使用(Windows)

目录 一、Geth介绍 二、Geth安装 1.下载安装 2.配置环境变量 三、Geth私有链搭建 1.创建创世块文件 2.初始化区块链 3.启动私有节点 四、账户交易 1.创建账户 2.挖矿操作 3.查看区块和奖励 ​ 4.转账交易 一、Geth介绍 Geth 又名Go Ethereum.是以太坊协议的三种实现…

最长上升子序列 详解

最长上升子序列 时间限制: 10 Sec 内存限制:128 MB 题目描述 给定一个序列,初始为空。现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置。我们想知道此时最长上升子序列长度是多少? 输入 第一行一个整数N,…

最长上升子序列(二分)

最长上升子序列 给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数 N。 第二行包含 N 个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤100000, …

C++最长上升子序列

最长上升子序列简介 题目描述 现有数列a1&#xff0c;a2&#xff0c;a3……aN。在其中找到严格递增序列ai1&#xff0c;ai2&#xff0c;ai3&#xff0c;……aiK&#xff08;1 < i1 < i2 < i3 < …… < iK < N&#xff09;&#xff0c;请找出序列a的最长上升…

LIS最长上升子序列

给定一个数组 &#xff0c;让你找出一个最长上升子序列的长度&#xff0c;例如[1,4,6,2,3,5] 答案为4&#xff1a;[1,2,3,5]。 我们用DP[i]表示以下标为i的元素结尾的子序列的最长上升子序列长度 代码如下&#xff1a; ll p[10010]; ll dp[10010]; int main() {ll n, ans 0…

最长上升子序列优化

引言 上次我们说了基础的最长上升子序列&#xff08;看这一篇前可以先看一下最长上升子序列&#xff09; 这次&#xff0c;我们再说一下如何优化&#xff0c;提高效率 我们先来看一道模板题 题目&#xff1a; 题目描述 输入格式 输出格式 输入样例 3 1 3 2 输出样例 1 …

最长上升子序列(LIS)算法

LIS定义 LIS&#xff08;Longest Increasing Subsequence&#xff09;最长上升子序列 一个数的序列bi&#xff0c;当b1 < b2 < … < bS的时候&#xff0c;我们称这个序列是上升的。 对于给定的一个序列(a1, a2, …, aN)&#xff0c;我们可以得到一些上升的子序列(a…