aws athena SQL 查询;为每个唯一的 column1 获取 column2 的唯一计数

Mar*_*tin 2 sql presto amazon-athena

我对 SQL 查询相当陌生,并且正在查询 aws athena 数据库。

我的第一个查询将返回给定一些参数的每个独特品牌:

-- query1
SELECT DISTINCT brand
FROM "database" 
WHERE product_gap = 'yes' AND store_name = 'petco'
Run Code Online (Sandbox Code Playgroud)

返回这样的列表:

#   brand
1   Drs. Doink and Foink
2   Zkukit!
3   Willow
4   Freshz
5   Aquatic Land
6   UniLaws
7   Seraz
.....
Run Code Online (Sandbox Code Playgroud)

依此类推 553 行。如果我选择任何品牌,例如“Seraz”并运行第二个查询,它将返回该品牌的“merch1”列的不同计数

-- query2
SELECT COUNT (DISTINCT merch1)
FROM "database" 
WHERE product_gap = 'yes' AND store_name = 'petco' AND brand='Seraz'
Run Code Online (Sandbox Code Playgroud)

返回:

#   _col0
1   2
Run Code Online (Sandbox Code Playgroud)

其中 _col0 是 seraz 的 merch1 的不同计数。

我的问题是如何组合我的查询,以便对于来自 query1 的每个唯一品牌结果,它都会运行 query2,并在表中显示唯一的 merch1 计数,如下所示:

#   brand                 merch1_distinct_count
1   Drs. Doink and Foink  2
2   Zkukit!               1
3   Willow                1
4   Freshz                1
5   Aquatic Land          1
6   UniLaws               3
7   Seraz                 2
.....
Run Code Online (Sandbox Code Playgroud)

Fah*_*hmi 5

使用group bybrand column

SELECT brand, COUNT(DISTINCT merch1) merch1_distinct_count
FROM "database" 
WHERE product_gap = 'yes' AND store_name = 'petco'
group by brand
Run Code Online (Sandbox Code Playgroud)