好的,我有一个这样的表:
id query results ip
---------------------------------
1 milk 17 10.10.10.1
2 milk 17 10.10.10.1
3 milk 17 10.10.10.2
4 bread 8 10.10.10.2
5 bread 8 10.10.10.2
6 cheese 12 10.10.10.1
Run Code Online (Sandbox Code Playgroud)
我现在有这个问题:
SELECT COUNT(DISTINCT(id)) as cnt, query, results, ip
FROM table
GROUP BY query
ORDER BY results ASC
LIMIT 20
Run Code Online (Sandbox Code Playgroud)
此查询返回以下结果:
count query results
---------------------
2 bread 8
1 cheese 12
3 milk 17
Run Code Online (Sandbox Code Playgroud)
我需要扩展该查询(或完全重做)以返回类似这样的内容,最好使用嵌套数组中的IP作为查询数组的一部分:
query count results ip
--------------------------------
bread 2 8 10.10.10.2 (2)
cheese 1 12 10.10.10.1 (1)
milk 3 17 10.10.10.1 (2)
10.10.10.2 (1)
Run Code Online (Sandbox Code Playgroud)
我将使用php输出,将带有该计数的IP列表附加到查询计数显示(单击以显示/隐藏填充了信息的模态).
获取我需要的数据的任何方向或帮助都会很精彩!
不,你不能得到那个结果.您有两种选择:
获取每个IP地址在自己的行上,并通过PHP中的结果智能地循环.
使用GROUP_CONCAT() MySQL函数在一个字段中将IP地址连接在一起,并解析该字段以在PHP中将它们分开.