如何在同一列mysql上实现两个聚合函数

时间:2018-12-03 15:35:12

标签: mysql database

SELECT max(sum(`orderquantity`)), `medicinename` 
FROM `orerdetails` 
WHERE `OID`=
   (
       SELECT `OrderID` 
       FROM `order` 
       where `VID` = 5 AND `OrerResponse` = 1
   )
GROUP BY `medicinename`

我想获取结果的最大值(订单数量的总和),但解决该问题的任何想法都会出错

1 个答案:

答案 0 :(得分:0)

您在这里不需要Max()。而是以Sum('orderquantity')降序对记录集进行排序,并获取返回的第一条记录:

SELECT sum(`orderquantity`) as sumoforderqty, `medicinename` 
FROM `orerdetails` 
WHERE `OID`=
   (
       SELECT `OrderID` 
       FROM `order` 
       where `VID` = 5 AND `OrerResponse` = 1
   )
GROUP BY `medicinename`
ORDER BY sumoforderqty DESC
LIMIT 1