Sql 查询以获取最多 10 条记录并按提及行排名的字段排序

Sql query to fetch most recent record upto 10 and order by filed where row rank is mentioned

以下是我在 Mysql 中的 table。我想在字段“rank_date”中获取最新日期的记录,并根据字段“drama_rank”

中的订单#按顺序 1 到 10 显示结果

您可以使用子查询进行过滤,然后 order by:

select t.*
from mytable t
where rank_date = (select max(rank_date) from mytable)
order by drama_rank

或者,假设 MySQL 8.0,您可以使用 window 函数:

select *
from (
    select t.*, rank() over(order by rank_date desc) rn
    from mytable t
) t
where rn = 1
order by drama_rank