mysql - 使用 max 时 select 返回错误的 id

标签 mysql sql max

假设有这样一张表。

id town_id begin_date

12 2       2011-10-10
23 2       2011-11-10 
43 2       2012-01-01 

现在如果我这样做

SELECT id, MAX(begin_date) AS mx
FROM regions

上面的查询返回最大日期但是id是错误的:

id mx
12 2012-01-01

这是预期的吗?
我怎样才能让它返回正确的 id (43, 2012-01-01)

最佳答案

如果您要做的是获取与 MAX() 日期关联的 ID,那么您可以:

SELECT id, begin_date from regions order by begin_date DESC LIMIT 1;

关于mysql - 使用 max 时 select 返回错误的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8736885/

相关文章:

mysql - 从 RDS 到 S3 的 AWS 数据管道复制因通信链路故障而失败

sql - 在 Django 原始 sql 中使用 like 语句时出错

php - 复制mysql数据到同一张表

c++ - 在 c++ 中创建带循环的间隔并确定没有数组的最小值和最大值

mysql - 从简单的选择查询 TADOQuery Delphi 捕获值

PHP Laravel : Ajax couldn't retrieve data (No properties)

mysql - SQL 语法。内连接后更新

mysql - 何时在 MySQL 中使用单引号、双引号和反引号

algorithm - 给定带孔矩形内的最大矩形

java - 在java中最有效地计算数组的最大值/最小值