我想选择最近10个工作日内的行。假设工作日是行存在的日期。
提前致谢。
答案 0 :(得分:1)
您可以使用以下内容完成过去十天:
select t.*
from table t
where t.date in (select t2.date
from table t2
group by t2.date
order by t2.date desc
limit 10
);
另一种方法是使用dense_rank()
函数:
select t.*
from (select t.*, dense_rank() over (order by date desc) as seqnum
from table t
) t
where seqnum <= 10;
这两个都假设日期列没有时间组件。删除时间组件是对任一版本的简单调整。
答案 1 :(得分:-1)
select * from your_table where your_table.date_field >= current_date - interval '10' day;
将your_table
替换为您的表名,将date_field
替换为日期字段并享受乐趣。