我有一个访问过的人的统计数据库。此表包含 ID、时间戳 IPv4、IPv6、用户代理和 REQUEST_URI。我通过运行类似的东西得到错误的数字
SELECT COUNT(DISTINCT IPv4) AS 'Uniques', COUNT(*) AS 'Total' FROM statistics
所以我需要从人类中过滤掉机器人。我的方法是这样的:
SELECT ID FROM statistics WHERE NOT EXISTS(SELECT ID FROM statistics WHERE useragent NOT LIKE '%bot%')
这应该从搜索非机器人的查询中不存在的统计信息中选择所有行。我认为查询看起来很合理,为什么它不起作用?
我想这样做是有原因的,而不是
SELECT ID FROM statistics WHERE useragent LIKE '%bot%'
有任何想法吗?