[英]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.