簡體   English   中英

SQL:選擇至少一行具有特定值的不同“類別”

[英]SQL: Select distinct “categories” with at least one row with a certain value

我有一個簡單的表,像這樣:

+----------+----------+
| Category | Favorite |
+----------+----------+
| One      |    True  |
| One      | False    |
| Two      | False    |
| Three    | True     |
| Four     | False    |
+----------+----------+

我想選擇每個類別,但是每個類別只能選擇一次,因此至少有一行帶有Favorite = True

SELECT DISTINCT category FROM table_name;

該查詢僅返回所有類別,而不只是具有至少一個收藏夾的類別。

我不太擅長SQL,也不知道確切搜索什么,這就是為什么我對此一無所獲的原因。 任何幫助將非常感激!

編輯:

輸出應如下所示:

+----------+
| Category |
+----------+
| One      |
| Three    |
+----------+

下面應該也可以正常工作(MSSQL服務器):

如果“收藏夾”列是varchar:

SELECT DISTINCT category 
FROM table_name
WHERE Favourite = 'True'

如果收藏夾欄位:

SELECT DISTINCT category 
FROM table_name
WHERE Favourite = 1

簡單的分組應該可以解決問題:

Select category from the_table 
where favorite = 1
group by category

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM