我想提取具有相同用户名的特定行的所有唯一 ID,然后将每个结果显示为一行。
例如...
这是我的表:
+----+------+
| id | name |
+----+------+
| 1 | Joe |
| 2 | Amy |
| 3 | Joe |
| 4 | Amy |
| 5 | Joe |
| 6 | Amy |
+----+------+
Run Code Online (Sandbox Code Playgroud)
这是我想要的结果:
+------+-------+
| name | ids |
+------+-------+
| Joe | 1,3,5 |
| Amy | 2,4,6 |
+------+-------+
Run Code Online (Sandbox Code Playgroud)
如何在 MySQL 中提取此结果?
使用GROUP_CONCAT()withDISTINCT子句来聚合特定名称的唯一 ID:
SELECT name, GROUP_CONCAT(DISTINCT id SEPARATOR ',') AS ids
FROM yourtable
GROUP BY name
Run Code Online (Sandbox Code Playgroud)
要查看它的用法,还可以查看MySQL group_concat with select inside select。
| 归档时间: |
|
| 查看次数: |
3516 次 |
| 最近记录: |