按max()其他列显示列

时间:2016-05-27 15:39:23

标签: mysql sql select max

我有一个包含3列的数据库表:idnumber1number2id包含1,2,3...nnumber1number2包含常规的int数字。

我想在结果中显示id列,该列将显示number1*number2的最大值。

我写了这个:

select id, max(number1*number2) from numbers; 

但在结果中,它显示了idnumber1*number2列。

我想在结果中仅显示id

2 个答案:

答案 0 :(得分:2)

您可以使用内部查询来获取乘法,然后使用外部查询来获取整行:

SELECT id
FROM   mytable
WHERE  (number1 * number2) = (SELECT MAX(number1 * number2) FROM mytable)

答案 1 :(得分:2)

你可以尝试这样的事情:

select id
from numbers
order by number1*number2 desc
limit 1