mysql - 选择多个值但在 MYSQL 中显示为一个

标签 mysql

我想知道是否可以在 mysql 表中选择多行,但将它们全部显示为一个值,例如用逗号分隔。

如果我有一张 table

Name        Color
---------------------
A          Red
B          Blue
A          Green

我可以选择 Color where Name = 'A';但两个值合二为一,例如它会返回

Red, Green

Green, Red

代替

Red
Green

谢谢

最佳答案

SELECT name,
    GROUP_CONCAT(DISTINCT color
               ORDER BY color DESC SEPARATOR ',')
     FROM table
    GROUP BY name;

我添加了 SEPARATOR 关键字以防您想要显示逗号(,) 以外的内容。逗号是默认值。 Click here了解更多详情。

关于mysql - 选择多个值但在 MYSQL 中显示为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7876949/

相关文章:

mysql - 为什么我收到错误 1054 : Unknown column in field list for certain inputs?

mysql - 在同一台服务器上复制整个数据库?

php - MySQL 加入特定的 WHERE 子句

php - 使用 PDO 准备语句并增加列值

php - 插入 foreach 循环

mysql - SQL Before Insert 触发器 - 插入另一个表并更新外键

mysql - Laravel + Vagrant = 拒绝用户访问 'root' @'localhost'

mysql - 在距纬度/经度一定距离内查询时出现奇怪的结果

sql - mysql左连接问题

java - Spring Hibernate 可以拦截查询吗?