我正在寻找已销售最大单位的产品名称,我有两张 table ,购买和产品,产品有pname和pid,购买有pid,数量(销售单位) . 我已经成功了
select p.pname, sum(q.qty) from purchases q
inner join products p on p.pid=q.pid
where p.pid=q.pid
group by p.pname
order by sum(q.qty) desc
我的结果是按降序排列,但我只需要最畅销的单位,多个产品可以拥有最畅销的单位 . 我用的时候
max(sum(q.qty))
我得到分组错误 .
3 回答
一种方法是首先使用公共表表达式导出值 .
简单地说,您无法将聚合包装在其他聚合中 . 但是,您可以围绕分析包装聚合 .
您可以使用
cte
来执行此操作 .1)首先获得每个产品的总数量2)然后获得所有这些总数的最大值3)用原始查询加入它
Google Analytics可以为您简化此操作 . 如果你有多个产品具有相同的总和(数量)并且恰好是max(sum(qty)),那么这应该是你得到它们: