2014-10-03 48 views
0

我想显示仅今天结果的信息。 我正在使用的下面的示例在24小时内显示信息。mysql过滤器由天

我只需要显示当天的信息。

例子:

$sql = "SELECT COUNT(*) as c 
     FROM toutcome 
     WHERE AffID = '$affID' AND 
     CompletedDate > DATE_SUB(CURDATE(), INTERVAL 1 DAY) "; 
$result = mysql_query($sql); 
$row = mysql_fetch_array($result); 
echo $row['c'] ; 

我也tryed

$sql = "SELECT COUNT(*) as c 
     FROM toutcome 
     WHERE AffID = '$affID' AND 
     CompletedDate > DATE_SUB(CURDATE(), INTERVAL 24 HOUR) "; 
$result = mysql_query($sql); 
$row = mysql_fetch_array($result); 
echo $row['c'] ; 
+0

CompletedDate> = CURDATE() – Mihai 2014-10-03 08:49:54

回答

0

尝试:

SELECT COUNT(*) as c FROM toutcome WHERE AffID = '$affID' AND CompletedDate BETWEEN CURDATE() AND NOW() 

如果你知道CompletedDate永远不会在未来则:

SELECT COUNT(*) as c FROM toutcome WHERE AffID = '$affID' AND CompletedDate >= CURDATE() 

阿朗的解决方案不会对CompletedDate使用索引。

+0

非常棒!谢谢切尔西! – 2014-10-03 09:08:35

0

试试这个

SELECT COUNT(*) 
as c FROM toutcome 
WHERE AffID = '$affID' 
AND 
TIMESTAMPDIFF(
    DAY, 
    DATE(CompletedDate), 
    DATE(CURRENT_TIMESTAMP) 
) = 1 
+0

@Chelsea,谢谢..我更新了我的答案 – Arun 2014-10-03 08:57:06