mysql - 将多行压缩为一个摘要行

标签 mysql sql database

我是 MySQL 的新手,需要一些帮助。我有一个表,其中每一行代表订单的一个项目。这些项目位于特定区域,如下所示:

Order Number            Area
EEN0103944              305
EEN0103945              305
EEN0103945              305
EEN0103902              104
EEN0103902              111
EEN0103945              123
EEN0103945              005
EEN0103945              002

我正在尝试在 MySQL 中创建一个表,将所有信息压缩到一行中,将订单作为主键,如下所示:

Order Number             Area
EEN0103945               305
EEN0103945               104, 111, 123
EEN0103945               005, 002

最佳答案

您正在寻找带有 distinct 选项的 group_concat():

select order_number, group_concat(distinct area separator ', ') as areas
from t
group by order_number

关于mysql - 将多行压缩为一个摘要行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49439363/

相关文章:

php - mysql事务中的更新——隔离

mysql - MYSQL SELECT 语句中如何划分子查询?

java - Hibernate - getHibernateTemplate 查询中重复参数

sql - "INNER JOIN"和 "OUTER JOIN"和有什么区别?

mysql - 具有特定条件的更新表

java - 安卓工作室 : app not saving to/reading from database

mysql - 选择和存储值,在 IN 子句中使用这些值

sql - 数据类型 text 不能用作 UNION、INTERSECT 或 EXCEPT 运算符的操作数,因为它不具有可比性

database - 在 Android 上降级数据库

ios - Cloudkit 公共(public)数据库错误 : "WRITE operation not permitted"