所以这是我的查询
select
A.search_parameters,
reseller_count,
reseller,
num
from
(select
search_parameters,
count(distinct(reseller)) as reseller_count
from all_lookups
group by search_parameters)A
join
(select
search_parameters,
reseller,
count(*) as num
from all_lookups
group by reseller,search_parameters)B
on A.search_parameters=B.search_parameters
where a.search_parameters not like '%addsomekeywords%'
and a.search_parameters not like '%add-some%'
order by reseller_count DESC,num
DESC limit 1000
出于某种原因,结果按 reseller_count 分组,但我希望它们按 search_parameters 分组。我尝试在 where 子句之后按 A.search_paramters 添加一个组,但这会产生错误“选择列表表达式不是由聚合输出生成的(缺少 GROUP BY 子句?)”可能还需要注意我正在使用这个在 Cloudera Impala 中查询,但我怀疑相同的 MySQL 规则/语法仍然适用
这是我得到的一个例子
A.search_parameter|reseller_count|reseller|num
hello | 2 | abc |556
hi | 2 | tre |54
hello | 2 | xyz |9
hi | 2 | ytu |4
我想要的是
A.search_parameter|reseller_count|reseller|num
hello | 2 | abc | 556
hello | 2 | xyz | 9
hi | 2 | tre | 54
hi | 2 | ytu | 4
所以基本上,所有具有相同 reseller_count 的 search_parameters 都是随机放在一起的,但我希望它们按 search_parameter 分组
谢谢