简体   繁体   English

如何在MySQL中将行分组为单行?

[英]How do I concat grouped rows as a single row in MySQL?

I have a query like SELECT CONCAT(manufacturer, ':', COUNT(*)) AS count FROM cars GROUP BY manufacturer which returns something like: 我有一个查询,例如SELECT CONCAT(manufacturer, ':', COUNT(*)) AS count FROM cars GROUP BY manufacturer ,返回的内容如下:

+---------+
| count   |
+---------+
| ford:10 |
| fiat:5  |
| kia:2   |
+---------+

Now I want to GROUP_CONCAT those rows into 1 row like: 现在,我想将这些行GROUP_CONCAT分成1行,例如:

+------------------------+
| result                 |
+------------------------+
| ford:10, fiat:5, kia:2 |
+------------------------+

But there's already a GROUP BY, so GROUP_CONCAT doesn't work. 但是已经有了GROUP BY,因此GROUP_CONCAT不起作用。 How can I achieve this with MySQL? 如何使用MySQL实现此目的?

select Group_Concat(count SEPERATOR ',') from 
(SELECT CONCAT(manufacturer, ':', COUNT(*)) AS count
 FROM cars GROUP BY manufacturer) AS A

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM