mysql 使用GROUP BY的SQL SELECT并将所有值显示到列中

igetnqfo  于 2023-05-28  发布在  Mysql
关注(0)|答案(1)|浏览(139)

所以我在MySQL中有用户表
| id|姓名|
| - -----|- -----|
| 一个|约翰|
| 2|马特|
| 3|马特|
我想实现的是显示所有的名字没有重复,并将其存储为PHP数组
我的查询

$query = "SELECT * FROM user WHERE id IN (SELECT MAX(id) FROM user GROUP BY name)";

结果
| id|姓名|
| - -----|- -----|
| 一个|约翰|
| 3|马特|
通过上面的查询,我设法通过对最新的id进行排序来删除重复的id。但是我想要的结果是这样的
| 所有名称|
| - -----|
| 约翰,马特|
有没有办法得到上面的结果?我是MySQL的新手,希望你们能帮助我。谢谢!

jvidinwx

jvidinwx1#

SELECT GROUP_CONCAT(DISTINCT name ORDER BY name SEPARATOR ', ') AS names
FROM `user`

相关问题