【发布时间】:2015-11-02 17:02:08
【问题描述】:
我正在尝试查找已售出最大单位的产品名称,我有两个表,购买和产品,产品有 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))
我收到分组错误。
【问题讨论】:
-
什么查询会导致错误?即,你如何使用 max(sum(q.qty))?
-
如果您可以提供一些示例输入和预期输出数据,以及您尝试在查询中使用
max(sum(q.qty))导致错误的方式,这将有所帮助。注:如果您使用的是 ansi 连接语法(例如from x inner join y on (x.col = y.col)),那么您不需要在 where 子句中重复连接条件。因此,您可以从查询中删除where p.pid = q.pid。