如何在单个SQL查询中对行进行分组?

时间:2014-03-23 23:47:35

标签: php mysql sql

我认为这是一个简单的问题。

我有这张桌子

+-----------------------------+
+ ip | campaignid             +
+-----------------------------+
+  1.1.1.1 | 3                +
+  1.1.1.1 | 17               +
+  1.1.1.1 | 4                +                 
+  2.2.2.2 | 8                +
+-----------------------------+

我想获得一个ip ='1.1.1.1'的查询,如下所示:

+-----------------------------+
+ ip       | count | campaigns+
+-----------------------------+
+  1.1.1.1 |     3 | 3,17,4   +
+-----------------------------+

我知道如何在php中完成此操作,但是有可能通过SQL查询获得此结果吗?

非常感谢你。

1 个答案:

答案 0 :(得分:4)

SELECT
   ip
 , COUNT(ip) AS count
 , GROUP_CONCAT(compaignid) AS campaigns
FROM table_name
GROUP BY ip