2013-05-14 148 views
-2

我正在尋找一種方法來運行簡單的SELECT語句。我有一個表有三列:ID,TITLEACTIVE,其中ACTIVE列表示boolean值。Mysql不會選擇重複值,條件

1. foo false 
2. foo false 
3. foo true 
4. bar false 
5. bar false 
6. aaa false 
7. ccc false 
8. ccc true 

我希望它返回如下:

4. bar false 
5. aaa false 
+0

您需要在問題中添加更多詳細信息。推動選擇這一結果的商業規則是什麼? – 2013-05-14 14:03:14

+0

我假設第二個結果行應該是'6。 aaa false'? – Tom 2013-05-14 14:24:50

+0

有答案有幫助嗎? – Tom 2013-05-16 19:21:10

回答

0

這將顯示只有一個活動值冠軍(這是你在找什麼,對不對?),和MIN ID爲此TITLE。

SELECT MIN(ID) ID, TITLE, ACTIVE 

FROM YOURTABLE 

GROUP BY TITLE 

HAVING MIN(ACTIVE) = MAX(ACTIVE) 
0

如果我的理解是正確的,要檢索那些只有false值的那些行,那麼這個應該可以幫助您:

SELECT * 
FROM (
    SELECT `ID` , `TITLE` , `ACTIVE` 
    FROM `table_name` 
    GROUP BY `TITLE` 
) AS `t` 
WHERE t.`ACTIVE` = 0 

而且我覺得對於布爾值,你需要有或者01