我有一个这样的简单表:
+----------+----------+
| Category | Favorite |
+----------+----------+
| One | True |
| One | False |
| Two | False |
| Three | True |
| Four | False |
+----------+----------+
我想选择每个类别,但每个类别只选择一次,其中至少有一行Favorite = True
SELECT DISTINCT category FROM table_name;
此查询仅返回每个类别,而不仅仅包含至少一个收藏夹。
我不擅长SQL,我真的不知道要搜索什么,这就是为什么我没有找到任何关于这个的原因。任何帮助都会非常感激!
修改
输出应如下所示:
+----------+
| Category |
+----------+
| One |
| Three |
+----------+
答案 0 :(得分:3)
下面应该也可以使用(MSSQL服务器):
如果收藏列是varchar:
SELECT DISTINCT category
FROM table_name
WHERE Favourite = 'True'
如果收藏列是位:
SELECT DISTINCT category
FROM table_name
WHERE Favourite = 1
答案 1 :(得分:2)
简单的分组应该可以解决问题:
Select category from the_table
where favorite = 1
group by category