MySQL中的Datediff()

Rat*_*r B 1 mysql functions date

在计算两个日期之间的差异作为天数时,通过使用 MySQL Datediff() 函数,我遇到了一些问题,下面给出了 SQL 代码。

select datediff((select curdate()),
(select Company.CreatedOn
from
dbname.company
inner join
dbname.user 
on
user.company_id = company.company_id
))
Run Code Online (Sandbox Code Playgroud)

我得到的结果如下,

Error Code: 1242 Subquery returns more than 1 row
Run Code Online (Sandbox Code Playgroud)

我确实理解错误,但我不能使用任何 id 指出如下,

select datediff
(
(select curdate()),
(select Company.CreatedOn
from
dbname.company
inner join
dbname.user
on
user.company_id = company.company_id
where
company.company_id = 17)
);
Run Code Online (Sandbox Code Playgroud)

当我运行这个查询时,我得到如下输出,

38
Run Code Online (Sandbox Code Playgroud)

我需要根据注册时间存在超过 365 天的公司来选择用户。

需要显示所有注册时间超过365天的公司,我在代码中没有提到这个条件,

我需要解决子查询结果,datediff 函数应该与所有公司 CreatedOn 值进行比较,结果只存在超过 365 天的公司。

任何帮助将不胜感激。

Aar*_*and 6

呃,为什么不只是

select /* user.columns, */
       /* company.columns, */
    NumDays = DATEDIFF(Company.CreatedOn, curdate())
from dbname.company
inner join dbname.user
on user.company_id = company.company_id
where Company.CreatedOn < curdate() - INTERVAL 365 DAY;
Run Code Online (Sandbox Code Playgroud)