gpt4 book ai didi

mysql - 获取连续的最大值

转载 作者:行者123 更新时间:2023-11-29 04:00:15 26 4
gpt4 key购买 nike

对于MySQL中的下表(表中的价格为不同供应商提供的价格)

Products   | Price1 | Price2 | Price3
Apple | 2 | 3 | 4
Pear | 2 | 1 | 1.5
Strawberry | 10 | 12 | 11

如何得到苹果的最高价是Price3,梨的最高价是Price1,草莓的最高价是Price2,例如,我想从上面的表格中检索结果:

Products     | MaximunPrice
Apple | Price3
Pear | Price1
Strawberry | Price2

最佳答案

使用 GREATEST:

SELECT Products,
CASE GREATEST(Price1, Price2, Price3)
WHEN Price1 THEN 'Price1'
WHEN Price2 THEN 'Price2'
WHEN Price3 THEN 'Price3'
END AS MaxPrice
FROM TableName

结果:

Products    MaxPrice
---------------------
Apple Price3
Pear Price1
Strawberry Price2

SQL Fiddle 中查看结果

解释:

GREATEST() 函数返回给定参数中的最大值。

阅读更多 here .

编辑:

要找到最大的非空值,您可以使用IFNULLCOALESCE:

SELECT Products,
CASE GREATEST(IFNULL(Price1,0), IFNULL(Price2,0), IFNULL(Price3,0))
WHEN Price1 THEN 'Price1'
WHEN Price2 THEN 'Price2'
WHEN Price3 THEN 'Price3'
END AS MaxPrice
FROM TableName

结果为 SQL Fiddle

关于mysql - 获取连续的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31959810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com