所有分类
  • 所有分类
  • 未分类

MySQL语句-用GROUP_CONCAT拼接GROUP BY(分组)的结果

简介

本文介绍MySQL怎样将GROUP BY(分组)的结果拼接起来。

问题描述

GROUP BY可以根据某几个字段将内容分组,但这样只能返回一条数据,怎样返回某个字段的所有数据?

问题复现

使用表info作为示例

1.查看原始数据

SELECT locus,id,journal FROM info WHERE locus IN('AB086827','AF040764');

结果:

+----------+----+--------------------------+
| locus    | id | journal                  |
+----------+----+--------------------------+
| AB086827 |  1 | Unpublished              |
| AB086827 |  2 | Submitted (20-JUN-2002)  |
| AF040764 | 23 | Unpublished              |
| AF040764 | 24 | Submitted (31-DEC-1997)  |
+----------+----+--------------------------+

2.GROUP BY

解决方案

使用GROUP_CONCAT,将指定的字段进行连接(默认用逗号)。

SQL语句:

SELECT
	locus,
	GROUP_CONCAT( id ),
	GROUP_CONCAT( journal ) 
FROM
	info 
WHERE
	locus IN ( 'AB086827', 'AF040764' ) 
GROUP BY
	locus;

结果:

0

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录