我想要一个查询来计算有多少不同的客户帐户使用相同的IP登录。
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| info_id | int(11) | NO | PRI | NULL | auto_increment |
| afid | int(11) | NO | | 0 | |
| access | date | NO | | NULL | |
| ip | varchar(15) | NO | | | |
+---------+-------------+------+-----+---------+----------------+
afid是客户ID。每次登录时都会在此表中插入。我一直在试着没有任何运气的嵌套选择,以及我能想到的任何东西。我可能过分思考了这个问题:)
提前致谢!
答案 0 :(得分:1)
试试这个:
SELECT COUNT(DISTINCT afid) AS afid_count
FROM yourtable
WHERE ip = '....'
获取最常用IP的列表:
SELECT
ip,
COUNT(DISTINCT afid) AS afid_count
FROM yourtable
GROUP BY ip
HAVING afid_count > 1
ORDER BY afid_count DESC