【发布时间】:2020-11-09 10:30:04
【问题描述】:
我有一个 SQL 聚合函数,它将获取每个唯一 normalised_brand 的数据,除了我的字段“brand_gap”外,一切正常,在这个查询中,品牌“Richell”有 5 个结果,每个结果的 brand_gap 列设置为等于字符串 'no',如何从聚合函数中的 brand_gap 列获取单个字符串结果?
SELECT
normalised_brand,
COUNT(DISTINCT merch1) merch1_distinct_count,
COUNT(DISTINCT category_level_1) category_level_1_distinct_count,
COUNT(*) product_distinct_count,
CONCAT(CAST(MIN(effective_price) as varchar(10)),' - ', CAST(MAX(effective_price) as varchar(10))) price_range,
null amazon_choice,
CAST(ROUND(COALESCE(AVG(rating),0),2) as varchar(10)) rating,
CAST(COALESCE(SUM(review_count),0) as varchar(10)) review_count,
SUM(CAST(questions_count AS INTEGER)) Q_and_A
-- CONCAT(CAST(brand_gap as varchar(10)),' - ') brand_gap,
-- FIRST (brand_gap)
FROM
"scoring"."final_data"
WHERE
product_gap = 'yes'
AND store_name = 'petco'
AND normalised_brand = 'Richell'
GROUP BY
normalised_brand
所以brand_gap 列对于所有结果总是有一个值,我怎样才能得到一个brand_gap 值?喜欢选择最常出现的值吗?或选择一个随机值?还是选择第一个结果值?
谢谢
【问题讨论】:
标签: sql presto amazon-athena