簡體   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