我对SQL查询相当陌生,并且正在查询aws-athena数据库。
我的第一个查询将返回每个给定参数的唯一品牌:
-- query1
SELECT DISTINCT brand
FROM "database"
WHERE product_gap = 'yes' AND store_name = 'petco'
返回这样的列表:
# brand
1 Drs. Doink and Foink
2 Zkukit!
3 Willow
4 Freshz
5 Aquatic Land
6 UniLaws
7 Seraz
.....
以此类推,共553行。如果我选择任何一个品牌,如"Seraz"并运行第二个查询,它将返回该品牌的"merch1"列的不同计数
-- query2
SELECT COUNT (DISTINCT merch1)
FROM "database"
WHERE product_gap = 'yes' AND store_name = 'petco' AND brand='Seraz'
哪个返回:
# _col0
1 2
其中_col0是塞拉兹的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
.....
使用group by
和brand column
SELECT brand, COUNT(DISTINCT merch1) merch1_distinct_count
FROM "database"
WHERE product_gap = 'yes' AND store_name = 'petco'
group by brand