我需要從數據庫中選擇只有一列具有特定值的所有行。也就是說,如果兩行具有「ABC」作爲其列arbitrary
的值,那麼它們不會被返回。在單個查詢中從MySQL中選擇唯一值
我希望這足夠清楚的措辭,以瞭解我在問什麼。使用MySQL的DISTINCT
關鍵字不適合我需要做的事情,因爲使用它需要多個查詢。我希望能夠在一個很好,緊湊的查詢中做到這一點,因爲它會被頻繁執行。我正在擴展我的應用程序以允許更高程度的併發性,而我現在的代碼不會再削減它了。
目前,我正在使用DISTINCT
爲所涉及的列選擇每個唯一值,然後在另一個查詢中檢查這些值中的每一個以查看它們是否僅存在一次。如果是這樣,保留它,如果沒有,扔掉它。肯定有更謹慎的方式去做這件事?
謝謝。
完美的,我從來沒有意識到之前,HAVING關鍵字。我會實現這一點,非常感謝! –
'有'是一個適用於聚合的地方。它起作用的原因是它在**集合被評估後被調用**,所以它可以對它們進行測試,where子句不能,因爲它在**完全計算之前得到測試**。 – Johan
如果這回答了你的問題,請檢查答案,以便Johan能夠收到他應得的分數,而其他讀者可以很容易地看出哪個答案解決了問題。 –