mysql - 与两个最大列进行比较得到一行

标签 mysql sql

我有表测试,其中列为 id 、 month 、 year 。我需要在一个查询中获取最大月份和最大年份的 ID。

例如

id     month   year
1       10     2012

2        9     2013

我的结果应该是 id 2。

首先根据我需要获取 ID 的最大月份检查年份

我在 MySQL 中给出这样的查询

 select id from book where MAX(month) and MAX(year);

它产生错误

最佳答案

只需按年月排序:

Demo

SELECT id
FROM   books
ORDER  BY year DESC, month DESC
LIMIT  1

关于mysql - 与两个最大列进行比较得到一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17503080/

相关文章:

mysql - 插入 2 个表

mysql - SQL JOIN 失败 - 不是唯一的表/别名

php - 检查表中的 mysql 列是否有 php 中的重复项

sql - 如何通过从当前日期时间减去日期时间字段来计算天数?

python - 如何编写 Python 脚本从 SQL 代码生成 Excel 文件?

mysql - 我的查询正确吗?是否存在可以检查我的查询的网站?

sql - 涉及包含数学运算符的列名的 MySQL 查询

sql - 一对多关系的 MySQL Join 语法

SQL WHERE EXISTS 掩盖了子查询中的错误

java - 检查 MySQL RDMS 上是否存在表