2012-12-08 216 views
-1

我試着去找到一個解決方案:Mysql的子查詢選擇

我需要查詢選擇所有任務,其不started和類似tasknames這個任務不應該在這個表中重複標誌更5行started

我的查詢:

SELECT * FROM tasks as t 
WHERE started = 0 
AND ((SELECT COUNT(*) FROM tasks 
WHERE started = 1 AND taskname = taskname) < 5) 

但查詢不起作用。任何人都可以告訴我我做錯了什麼?

+0

來限定TASKNAME外部表定義「不工作」 – ean5533

+1

沒有工作=沒有結果,他預計 –

回答

3

嘗試以下

AND taskname = t.taskname 
1

您是非常接近:

SELECT * FROM tasks as t 
WHERE started = 0 
AND (SELECT COUNT(*) FROM tasks 
WHERE started = 1 
AND taskname = t.taskname) < 5 

你只需要比較計數結果,而不是包括在子查詢中的比較。此外,您需要使用t.前綴

+0

但其牛逼不T1) –

+0

爲什麼下投票,到底是什麼? – Bohemian

+0

什麼是'ast_limit'? – ean5533