我有一个表名: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(值)可能在此处起作用。但是栏目的数值是'日期'这里没有增量。
答案 0 :(得分:0)
尝试使用子查询:
SELECT COUNT(*) countdate FROM serial WHERE `Date` = (SELECT `Date` FROM serial order by ID desc limit 1)