2012-11-28 37 views
1

我想从由party_id分组的表中获取或获取最大日期。从mysql中的表中获取最大值

要做到这一点我想:

$check = mysql_fetch_array(mysql_query("select max(fixed_date) as f from case_proceeding group by party_id where party_id='$row[party_id]'")); 

在那之后,我想打印最大日期是这样的:

echo $check['f']; 

,但它不工作。我认为在mysql_query中有一个错误。

+1

group by go after where。而不是把它放在一行上,打破它,所以你可以使用错误检查建议 – 2012-11-28 06:21:37

+0

试试print_r($ check) –

+2

[**请不要在新代码**中使用'mysql_ *'函数](http ://bit.ly/phpmsql)。他们不再被维护,[弃用过程](http://j.mp/Rj2iVR)已经开始。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 –

回答

0

尝试,GROUP BY应该跟从WHERE条款)这里没有必要的,因为你已经从WHERE

$check = mysql_fetch_array(mysql_query("select max(fixed_date) as f from case_proceeding where party_id='$row[$party_id]'")); 

过滤,但你的quesry是SQL Injection脆弱的,请阅读下面的文章,以保护反对

0

试试这个:

GROUP BY子句在这里不需要

select max(fixed_date) as f 
from case_proceeding 
where party_id='$row[party_id] 
0

试试这个::

select max(DATE(fixed_date)) as f from case_proceeding where party_id=? group by party_id 
0

尝试

$check = mysql_fetch_array(mysql_query("select max(fixed_date) as f from case_proceeding where party_id='$row[party_id]' ")); 

注意:mysql_ *功能已弃用,请尝试pdo或mysqli