如何发出请求将一行中的所有字段分组?
表:
id | type
---------
1 | 1
1 | 1
2 | 2
3 | 3
3 | 3
Run Code Online (Sandbox Code Playgroud)
查询:
select concat('id(', count(type), ')') from T group by id;
Run Code Online (Sandbox Code Playgroud)
输出:
id(2)
id(1)
id(2)
Run Code Online (Sandbox Code Playgroud)
我想得到一个字符串: 'id(1)' = 2, 'id(2)' = 1, 'id(3)' = 2
如果你分两个阶段完成.制作你的id(n) = x记录,然后是GROUP_CONCAT().
SELECT
GROUP_CONCAT(id_count SEPARATOR ', ')
FROM
(SELECT CONCAT('id(', id, ') = ', count(type)) id_count FROM T GROUP BY id) data
Run Code Online (Sandbox Code Playgroud)
但请注意,这通常是SQL反模式的标志.
通常建议不要将多个值压缩为单个值.通常建议将演示文稿和数据层分开.
| 归档时间: |
|
| 查看次数: |
873 次 |
| 最近记录: |