我對許多pageid有很多ClientIDmySQL獨佔記錄
例如:
的ClientID 1個PAGEID 3
的ClientID 1個PAGEID 2
的ClientID 2 PAGEID 3
ClientID的3 PAGEID 3
在查詢我要調出記錄,只有PAGEID 3獨佔。
所以在我的結果我應該得到客戶端2和3和客戶端1應該省略結果...什麼是最好的方式來做到這一點?
我對許多pageid有很多ClientIDmySQL獨佔記錄
例如:
的ClientID 1個PAGEID 3
的ClientID 1個PAGEID 2
的ClientID 2 PAGEID 3
ClientID的3 PAGEID 3
在查詢我要調出記錄,只有PAGEID 3獨佔。
所以在我的結果我應該得到客戶端2和3和客戶端1應該省略結果...什麼是最好的方式來做到這一點?
嘗試這一個 -
SELECT clientid FROM
clients
GROUP BY
clientid
HAVING
COUNT(*) = COUNT(IF(PageID = 3, PageID, NULL));
你可以嘗試這樣的事情......
SELECT DISTINCT ClientID
FROM table
WHERE PageID = 3
AND ClientID NOT IN (SELECT DISTINCT ClientID FROM table WHERE PageID != 3)
或者這...
SELECT DISTINCT a.ClientID
FROM table a
JOIN (SELECT ClientID, COUNT(*) AS total FROM table GROUP BY ClientID) b ON a.ClientID = b.ClientID
WHERE b.total = 1
AND a.PageID = 3
不要工作見下面發表評論!
SELECT ClientID FROM table WHERE PageID=3 GROUP BY ClientID HAVING count(ClientID)=1
這個想法,嘗試圍繞一些。
希望得到這個幫助。
你只是限制可能性重複相同PAGEID內,而不是刪除他們,如果他們是在其它頁爲好。 – judda 2011-04-26 03:55:29
哦!那就對了。我的錯。 – Riba 2011-04-26 03:58:18