繁体   English   中英

sql 计算小于当前日期的日期

[英]sql count the date less than current date

我有一个表,用户在其中输入目标日期,然后我想 output 其关联目标日期大于当前日期的名称计数。 我试过了,但我得到了相同的结果

下面是代码

$select1_query = "
SELECT ACCOUNT_NAME
     , COUNT(NCI_NUMBER)
     , COUNT(CURDATE()>TARGET_DATE) 
  FROM sim_tracker 
 WHERE NCI_STATUS != 'Closed' 
 GROUP 
    BY ACCOUNT_NAME
";

不要使用count() 使用sum()

SELECT ACCOUNT_NAME,
       COUNT(NCI_NUMBER),
       SUM(CURDATE() > TARGET_DATE) 
FROM sim_tracker 
WHERE NCI_STATUS <> 'Closed' 
GROUP BY ACCOUNT_NAME;

这是因为 MySQL 在数字上下文中将布尔表达式视为“1”表示真,“0”表示假。 SUM()然后计算“真”值的数量。

COUNT()不起作用,因为COUNT(<expression>)计算非NULL值的数量。 "true" 和 "false" 都是非NULL ,所以它们都被计算在内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM