可以說,我有以下兩列(品牌&顏色)的值是:窗口分區用VARCHAR
brand color
ford blue
ford pink
ford yellow
chevy green
chevy white
chevy yellow
jeep blue
jeep green
我只關心賣出粉紅色或藍色的汽車品牌。 什麼類型的窗口函數可以讓我只撤回三條'福特'記錄,因爲福特有一輛粉色/藍色車。和兩個吉普車記錄。 (我不想看到任何chevy記錄)。 謝謝
可以說,我有以下兩列(品牌&顏色)的值是:窗口分區用VARCHAR
brand color
ford blue
ford pink
ford yellow
chevy green
chevy white
chevy yellow
jeep blue
jeep green
我只關心賣出粉紅色或藍色的汽車品牌。 什麼類型的窗口函數可以讓我只撤回三條'福特'記錄,因爲福特有一輛粉色/藍色車。和兩個吉普車記錄。 (我不想看到任何chevy記錄)。 謝謝
您應該對顏色條件的品牌列做一個獨特的查詢。您將獲得可查詢的品牌列表。然後將此結果與基於品牌的正常表結合。然後獲得記錄。
換句話說您需要使用不同品牌的子查詢,並且是內部連接到你的正常的表
像
select t1.*
from t1
inner join (
select distinct brand
from t1
where color in ('pink', 'blue')
) as t2 on t2.brand = t1.brand
SELECT *
FROM t1
WHERE brand in (
SELECT brand
FROM t1
WHERE color in ('pink', 'blue')
)
閱讀英文此查詢條件:選擇所有品牌等於所有品牌粉紅色或藍色的記錄。