繁体   English   中英

如何在 MYSQL 的表中找到每一行的最大值

[英]How to find the max of each row in a table in MYSQL

我有下面这张表,它有 N 行。 在这里,我将其简化为 3 行。

示例表

        A                   B                   C                      D
5.640700669769904   5.623475843268976   5.644739934022418
5.62489798487818    5.581388826442135   5.62376476667017
5.62708139972593    5.606610562903928   5.592366625377977

我需要找到新的 D 列,它由 A、B、C 列的行的最大值组成。

在 MYSQL MAX(X) 中仅适用于该列。 我将如何解决这个问题?

我尝试过使用子表,但没有运气。

max()是对跨行存储的值进行操作的聚合函数(尽管某些数据库,即 SQLite,允许将其用于值列表)。

您可以使用greatest()获取每行三列的最大值:

select t.*, greatest(a, b, c) d from mytable

另一方面,如果您想要所有 3 列和所有行的最大值,则可以同时使用max()greatest()

select max(greatest(a, b, c)) overall_greatest from mytable

暂无
暂无

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

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