mysql count last_column_data无效

时间:2016-02-05 15:21:55

标签: mysql

我有一个表名:serial

ID            Name             Date
----          --------         -----------           
1             George           2013-07-24
2             John             2013-07-24
3             Thomas           2013-07-25
4             James            2013-07-31
5             Andrew           2013-07-20
6             Martin           2013-07-24
7             William          2013-07-21
8             Zachary          2013-07-25
9             Millard          2013-07-31
10            Chester          2013-07-24

现在我需要动态计算列Date的最后一个值,这里列Date的最后一个值是2013-07-24,所以计数是4.但是如果一些数据插入ID#11并带有Date值2013 -07-31,那么计数将是3。 我已经做了一个功能:

function countdate(){   
    $SQL = "SELECT count( `ID` ) as countdate FROM serial WHERE `Date` = 'LAST(Date)'"; 
    $result = mysql_query($SQL);    
    $cd= mysql_fetch_array($result);
    return $cd['countdate'];
}   

但它不起作用。但是,如果我直接提出' 2013-07-24'而不是最后(日期)'进入函数,它给出了结果。我想'最后(日期)'在这里不动态。 这里或其他任何方式的错误是什么......顺便说一句,我不是很专业的编码员,这是我的第一个问题,所以...

此处MAX(值)可能不起作用,因为此处插入了不同的日期。如果我们考虑列' ID',则MAX(值)可能在此处起作用。但是栏目的数值是'日期'这里没有增量。

1 个答案:

答案 0 :(得分:0)

尝试使用子查询: SELECT COUNT(*) countdate FROM serial WHERE `Date` = (SELECT `Date` FROM serial order by ID desc limit 1)