下面是我的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/