无法运行此mysql查询

nwlls2ji  于 2021-08-09  发布在  Java
关注(0)|答案(2)|浏览(300)
SELECT MIN(DATE) as START_DATE,
       MAX(DATE) as END_DATE, 
       datediff(day, START_DATE, END_DATE) AS DURATION
FROM CUSTOMER;

我在执行上述查询时遇到此错误。有人能帮我解决这个问题吗。我想知道他们之间的开始日期,结束日期和持续时间。
错误代码:1582。对本机函数“datediff”的调用中的参数计数不正确

q5lcpyga

q5lcpyga1#

SELECT MIN(DATE) as START_DATE,MAX(DATE) as END_DATE, 
datediff(MIN(DATE), MAX(DATE)) AS DURATION 
FROM CUSTOMER;
oxf4rvwz

oxf4rvwz2#

您的代码中有多个错误:
您正在使用 datediff() 有三个论点。这是一个sql server函数,而不是mysql函数。
其次,使用列别名作为函数的参数。这是不允许的。
另外,你需要记住 datediff() 从mysql中较大的值开始,而不是较小的值。所以:

select min(date) as start_date, max(date) as end_date,
       datediff(max(date), min(date)) as duration
from customer;

相关问题