繁体   English   中英

SQL 获取与 max() 关联的值

[英]SQL getting value associated with max()

Type | Price | Cost | Profit
----------------------------
p    |  499  |  205 |  294
t    |  349  |  132 |  217

我正在尝试从最大利润中获取类型,例如:

Type
----
p

执行此操作的最简单方法是按Profit降序对表进行排序并取第一行:

SELECT Type
FROM yourtable
ORDER BY Profit DESC
LIMIT 1

您还可以使用相关子查询:

SELECT Type
FROM yourtable
WHERE Profit = (SELECT MAX(Profit) FROM yourtable)

或者您可以JOIN到包含MAX(profit)的派生表。 当您想搜索不同组的多个最大值时,后一种方法更有用:

SELECT Type
FROM yourtable y
JOIN (SELECT MAX(Profit) AS max_profit
      FROM yourtable) mp ON mp.max_profit = y.Profit

在所有情况下,对于您的数据,输出都是p

dbfiddle 上的演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM