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