Mysql 选择具有某一列的最大值的行

Mysql 选择具有某一列的最大值的行,mysql,Mysql,例如,如果我的查询返回两行或更多行,我希望选择具有最近日期的行。 我在做这样的事情: 从表1中选择*,其中Name=Mark和MAX(时间戳(日期(str-to-date)(注册日期,%d/%m/%Y))) 返回的错误为: #1111-无效地使用组函数将结果限制为您将要执行的最新结果(基于根据示例注册的名为DATE\u的字段) SELECT * FROM Table1 WHERE Name='Mark' ORDER BY STR_TO_DATE(DATE_REGISTERED,'%d/%m/%

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

我在做这样的事情:


从表1中选择*,其中Name=Mark和MAX(时间戳(日期(str-to-date)(注册日期,%d/%m/%Y)))

返回的错误为:
#1111-无效地使用组函数

将结果限制为您将要执行的最新结果(基于根据示例注册的名为DATE\u的字段)

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

要将结果限制为最近的结果(基于根据示例注册的名为DATE_的字段),您可以执行以下操作

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

您应该使用order by语句:

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

您应该使用order by语句:

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

+1 . . . 但是您应该将查询更改为
orderbydate\u registed
,因为这是问题中的示例,并在
Mark
周围加上引号,这样语法就正确了。但是,orderbydate\u registed会按字母顺序排列行,我猜谢谢大家:)我感谢你们的帮助+1.但是您应该将查询更改为
orderbydate\u registed
,因为这是问题中的示例,并在
Mark
周围加上引号,这样语法就正确了。但是,orderbydate\u registed会按字母顺序排列行,我猜谢谢大家:)我感谢你们的帮助!非常感谢。正是我想要的:)谢谢!正是我想要的:)