我有一个包含两列的MySQL表:a和b。 该表中有20个条目
对于10个条目,a = 3.对于其他10个条目,a = 4。
我想选择b = 0的行,但我只想要a = 3的组和a = 4的组。
基本查询类似于:
SELECT * FROM `table_name` WHERE b = 0 AND rest_of_query
rest_of_query应该是什么?
答案 0 :(得分:0)
假设您只需要来自该组的第一个。 您可以通过以下方式执行此操作:
SELECT * FROM `table_name` WHERE b=0 AND a=3 LIMIT 1
UNION
SELECT * FROM `table_name` WHERE b=0 AND a=4 LIMIT 1;
答案 1 :(得分:0)
鉴于您没有为其他列指定任何特定条件(如果有),以下查询将提供您想要的内容。选择的特定行可能是不确定的。
select * from `table_name` where b=0 group by a;
答案 2 :(得分:0)
根据我的理解你只有2列,并且正在定义其中一个是什么,然后你只想要另一列的不同条目。
这可以通过GROUP BY完成
SELECT a, b FROM table_name WHERE b = 0 GROUP BY a;
答案 3 :(得分:0)
UNION查询应该是这样的
(SELECT * FROM `table_name` WHERE b=0 AND a=3 LIMIT 1)
UNION
(SELECT * FROM `table_name` WHERE b=0 AND a=4 LIMIT 1);