如何从多列MySQL中找到最大值

时间:2012-11-27 22:49:11

标签: mysql sql max

could`t create table here so had to printscreen

所以问题是如何向表SP显示具有最大数量(QTY)的供应商(S)。

这就是我提出的:

  SELECT sno FROM sp WHERE sno in (SELECT max(QTY) FROM sp WHERE qty);

但它只显示空字段,我找不到问题。 我非常感谢你的帮助。

2 个答案:

答案 0 :(得分:2)

SELECT a.* 
FROM tableA a
     INNER JOIN tableB b
        ON a.S = b.S
WHERE b.qty = (SELECT max(qty) FROM tableB)

答案 1 :(得分:1)

怎么样

SELECT sno FROM sp ORDER BY qty DESC LIMIT 1

这样你可以在QTY上编制索引,而不必进行全表扫描

然后您可以使用联接来获取S中的数据,而无需进行子选择或类似的任何代价

SELECT s.* FROM sp LEFT JOIN s USING(sno) ORDER BY qty DESC LIMIT 1