我正在寻找一种运行简单SELECT
语句的方法。我有一个包含三列的表:和ID
,其中列代表一个值。TITLE
ACTIVE
ACTIVE
boolean
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
我正在寻找一种运行简单SELECT
语句的方法。我有一个包含三列的表:和ID
,其中列代表一个值。TITLE
ACTIVE
ACTIVE
boolean
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
如果我理解正确,您正在检索那些仅具有false
价值的行,那么这应该可以帮助您:
SELECT *
FROM (
SELECT `ID` , `TITLE` , `ACTIVE`
FROM `table_name`
GROUP BY `TITLE`
) AS `t`
WHERE t.`ACTIVE` = 0
另外我认为对于布尔值,您需要具有0
or 1
。
这将显示只有一个 ACTIVE 值的 TITLES(这就是您要查找的内容,对吗?),以及该 TITLE 的 MIN ID。
SELECT MIN(ID) ID, TITLE, ACTIVE
FROM YOURTABLE
GROUP BY TITLE
HAVING MIN(ACTIVE) = MAX(ACTIVE)