訪問した人の統計データベースがあります。このテーブルには、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%'
何か案は?