mysql - 如何从多个返回值中找到MAX

标签 mysql

下面是我的sql语句,一切正常,只是我不知道如何从多个返回值中找到最大值。无论如何,这是我的代码,我有问题的部分标有[]。

SELECT 
(product1.CNT+product2.CNT+product3.CNT)AS CNT,
(
 IFNULL(product1.SUMAMT,0)+
 IFNULL(product2.SUMAMT,0)+
 IFNULL(product3.SUMAMT,0)
)AS AMTAMT,

[ MAX(product1.MXDT、product2.MXDT、product3.MXDT)AS MAXDT ]

FROM 

(SELECT 
 SUM(LAMT)AS SUMAMT, 
 COUNT(LAMT)AS CNT,
 IFNULL(LSUBDT,(CURDATE()-INTERVAL 9999 DAY))AS MXDT
 FROM product1 WHERE LSUBBY=1 AND RECST=1
)product1 

CROSS JOIN 
(SELECT 
 SUM(LAMT)AS SUMAMT, 
 COUNT(LAMT)AS CNT,
 IFNULL(LSUBDT,(CURDATE()-INTERVAL 9999 DAY))AS MXDT
 FROM product2 WHERE LSUBBY=1 AND RECST=1
)product2

CROSS JOIN 
(SELECT 
 SUM(LAMT)AS SUMAMT, 
 COUNT(LAMT)AS CNT,
 IFNULL(LSUBDT,(CURDATE()-INTERVAL 9999 DAY))AS MXDT
 FROM product3 WHERE LSUBBY=1 AND RECST=1
)product3

最佳答案

您要查找的函数名为 GREATEST :

...
GREATEST(product1.MXDT, product2.MXDT, product3.MXDT) AS MAXDT
....

关于mysql - 如何从多个返回值中找到MAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13544251/

相关文章:

mysql - 如何在mysql表中创建动态列

java - 从 Java 将图像保存在 MySQL 中

mysql - 为什么查询时不使用索引?

mysql - 在 MySQL 数据库中存储 RFC3339 时间时的最佳做法是什么?

mysql - SQL 查询 - 两个多对一关系的表(规范化问题)

mysql - 创建联接以显示 T1 中不在 T2 中的一列的值,并进行一些比较

php - 需要有关此 SQL 查询的帮助

Mysql索引解释

c# - "Fatal error encountered during command execution in mySql "

php - 在 while 循环中显示表格