我無法理解該查詢:瞭解此查詢(COUNT與子查詢)
SELECT *
FROM `advertise` parent
WHERE 3 <= (SELECT COUNT(username)
FROM `advertise`
WHERE keyword = parent.keyword
AND bid > parent.bid)
AND username = 'mike'
什麼這個查詢的作用是顯示用戶名爲'mike'
任何行;如果該行不是關鍵字的三個最高出價。
這裏是sqlfiddle that works,但我不明白它是如何工作的。更具體地說,我不明白3 <=
與這個特定的查詢。
3 <=
如何確定該行不是關鍵字的三個最高出價?
SELECT COUNT(...)返回一個整數 –
3更改爲4在SQL提琴。這有幫助嗎? – Ben
,但仍不能解釋它如何確定該行不在三個最高結果中。這意味着查詢看起來像這樣一次返回SELECT * FROM'advertise' parent WHERE 3 <= 2 AND username ='mike' – user892134