0
我有訪問過的人的統計數據庫。該表包含ID,時間戳IPv4,IPv6,用戶代理和REQUEST_URI。我通過運行這樣MYSQL SELECT行不在查詢中
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%'
任何想法?
好,謝謝,這做到了。只是想知道爲什麼我的NOT IN沒有工作...... –
不存在與NOT IN不同的地方。有關詳細信息,請參閱[MSDN EXISTS](http://msdn.microsoft.com/it-it/library/ms188336.aspx)(您使用的是MYSQL而不是MS SQL Server,但這些關鍵字的含義並不是'不同)。 – ufo