[英]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.