我对MySQL比较陌生。我正在尝试计算表中每个ip的所有出现次数,但是我不确定如何获取查询以将它们全部与数量分开分组。到目前为止,这就是我的表格示例。

TableData:
MAC                 IP       Status
AAAA.AAAA.AAAA  xx.xxx.xx.78   6
AAAA.AAAA.AACA  xx.xxx.xx.131  1
AAAA.AAAA.AABA  xx.xxx.xx.31   5
AAAA.AAAA.AAAD  xx.xxx.xx.31   NULL
AAAA.AAAA.AAAC  xx.xxx.xx.78   1
AAAA.AAAA.AAAB  xx.xxx.xx.131  6
AAAA.AAAA.AAAF  xx.xxx.xx.31   6
AAAA.AAAA.AABB  xx.xxx.xx.131  5
AAAA.AAAA.AABB  xx.xxx.xx.131  6

SELECT COUNT(IP='xx.xxx.xx.31') COUNT(IP='xx.xxx.xx.131'), COUNT(IP='xx.xxx.xx.78') TABLEDATA WHERE Status IS NOT NULL

Result wanted:
xx.xxx.xx.31   2
xx.xxx.xx.78   2
xx.xxx.xx.131  4


我一直在查看count rows specific value,但这似乎有所不同,如果需要的话,我很难应用此原理。我很难考虑要在互联网上搜索什么。

已更新-在结果和表数据中显示给定IP的重复MAC。

最佳答案

您要使用GROUP BY

SELECT
    MAC,
    IP,
    COUNT(IP)
FROM
    TABLEDATA
WHERE
    Status IS NOT NULL
GROUP BY
    MAC,
    IP

关于mysql - 如何在MySQL表中计算10个不同的IP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50255959/

10-12 07:34