选择具有某个列的最大值的ROW

时间:2013-03-24 21:53:16

标签: mysql

例如,如果我的查询返回两行或更多行,我想选择具有最新日期的行。

我做这样的事情:

SELECT * FROM Table1 WHERE Name=Mark AND MAX(TIMESTAMP(date(str_to_date(DATE_REGISTERED,'%d/%m/%Y'))))

返回的错误是: #1111 - 无效使用群组功能

2 个答案:

答案 0 :(得分:2)

要将结果限制为仅限最近的结果(根据您的示例,根据名为DATE_REGISTERED的字段),您可以

SELECT * FROM Table1 WHERE Name='Mark' ORDER BY STR_TO_DATE(DATE_REGISTERED,'%d/%m/%Y')  DESC LIMIT 1

答案 1 :(得分:1)

你应该使用order by statement:

SELECT * FROM Table1 WHERE Name=Mark
order by str_to_date(DATE_REGISTERED,'%d/%m/%Y') DESC LIMIT 1