Mysql 在两个客户的情况下,选择订购最多产品的客户

Mysql 在两个客户的情况下,选择订购最多产品的客户,mysql,sql,Mysql,Sql,我的订单如下表所示 我知道选择订购量最大的客户的查询。但是,如果两个客户拥有相同的数量,它将如何工作。我应该编写什么查询来显示这两个客户?您可以使用子查询来检查给定记录的数量是否与表中观察到的最大数量相匹配: SELECT * FROM yourTable WHERE qty = (SELECT MAX(qty) FROM yourTable) 如果有多个客户共享最大数量,这将返回多条记录 如果您只想找回一张记录,即使是在有领带的情况下,也可以使用以下方法: SELECT * FROM you

我的订单如下表所示


我知道选择订购量最大的客户的查询。但是,如果两个客户拥有相同的数量,它将如何工作。我应该编写什么查询来显示这两个客户?

您可以使用子查询来检查给定记录的数量是否与表中观察到的最大数量相匹配:

SELECT *
FROM yourTable
WHERE qty = (SELECT MAX(qty) FROM yourTable)
如果有多个客户共享最大数量,这将返回多条记录

如果您只想找回一张记录,即使是在有领带的情况下,也可以使用以下方法:

SELECT *
FROM yourTable
ORDER BY qty DESC
LIMIT 1

我想你们想要每个客户的数量之和

如果是这样,您可以尝试以下方式:

select custNum,
    sum(qty) as qty
  from Orders 
  group by custNum
  order by sum(qty) desc;
在这里拉小提琴:

这将返回两个值。

select*from Customers,其中qty=select maxqty from Customers
SELECT custnum,sum(qty) as total
FROM orders
group by custnum
having sum(qty) = (SELECT MAX(qty) FROM orders);