我目前正在使用hive sql语句。我有以下架构
ID | DESCRIPTION | BRAND | RATING
---------------------------------
1 | one | A | 0
---------------------------------
2 | two | A | 0
---------------------------------
3 | three | B | 0
---------------------------------
4 | four | B | 1
---------------------------------
5 | five | C | 1
---------------------------------
我想选择不同的品牌,但前提是评级等于零的列评级的计数大于零。我正在搜索的查询应返回上面给出的数据集的以下结果:
A, B
当我做一个明确的选择时:
SELECT DISTINCT BRAND FROM MY_TABLE ....
我不知道如何访问当前行的品牌,以便我可以在子选择中使用它进行计数,例如:
.... WHERE COUNT(SELECT * FROM MY_TABLE WHERE RATING = 0 AND BRAND = "CURRENT BRAND") > 0
答案 0 :(得分:1)
您可以使用group by
:
select brand
from my_table
where rating = 0
group by brand;
或者更简单:
select distinct brand
from my_table
where rating = 0;