Mysql不选择重复值,有条件
我正在寻找一种运行简单的Mysql不选择重复值,有条件,mysql,select,duplicates,Mysql,Select,Duplicates,我正在寻找一种运行简单的SELECT语句的方法。我有一个表,它有三列:ID、TITLE和ACTIVE,其中ACTIVE列表示布尔值 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 这将显示只有一个活动值的标题(这是您要查找的,对吗?)以及该标题的最小ID SELE
SELECT
语句的方法。我有一个表,它有三列:ID
、TITLE
和ACTIVE
,其中ACTIVE
列表示布尔值
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
这将显示只有一个活动值的标题(这是您要查找的,对吗?)以及该标题的最小ID
SELECT MIN(ID) ID, TITLE, ACTIVE
FROM YOURTABLE
GROUP BY TITLE
HAVING MIN(ACTIVE) = MAX(ACTIVE)
如果我理解正确,您正在检索那些只有false
值的行,那么这将有助于您:
SELECT *
FROM (
SELECT `ID` , `TITLE` , `ACTIVE`
FROM `table_name`
GROUP BY `TITLE`
) AS `t`
WHERE t.`ACTIVE` = 0
另外,我认为对于布尔值,您需要有0
或1
您需要为问题添加更多细节。驱动此结果选择的业务规则是什么?我假设第二个结果行应该是6。aaa false
?这些答案有帮助吗?