php - 如何在单个 sql 查询中对行进行分组?

标签 php mysql sql

我认为很简单的问题。

我有这张 table

+-----------------------------+
+ 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 查询获得此结果?

非常感谢您。

最佳答案

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

关于php - 如何在单个 sql 查询中对行进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22598708/

相关文章:

php - Laravel artisan 优化最佳实践

java - PHP 时间戳转 Java 时间戳

MySQL 使用 JOIN 和 GROUP_CONCAT

sql - sqlite中有效的日期比较?

sql - Ruby on Rails/SQL 查询

mysql - MySQL 中列的条件文本连接。一些短语完全匹配,另一些正则表达式

php - 如果MySql行(字段)有任何文本输出

php - JS 库和框架标准目录

来自 MySql 命令行的 MySql 'INTO OUTFILE '

php - 一次更新两个表