sql计算日期小于当前日期

时间:2019-10-17 15:22:35

标签: mysql sql

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

下面是代码

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

1 个答案:

答案 0 :(得分:0)

请勿使用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,因此它们都被计数。