首页 > 解决方案 > 从 where 子句中的列中获取最高值

问题描述

我有表:

id date  day
2  21-07 1
2  10-07 3
2  11-07 2

我需要得到date最高day的,在当前示例中它应该是 10-07。下一个查询工作正常,但有没有办法让它更优化?

SELECT date
      FROM (SELECT date, MAX(day)
            FROM some_table 
            WHERE id = 2
            GROUP BY date
        LIMIT 1) x

标签: sqlpostgresql

解决方案


我不会建议一个where条款。只需使用:

select date
from some_table
where id = 2
order by day desc
limit 1;

推荐阅读