Sql 博士后最后10个工作天

Sql 博士后最后10个工作天,sql,postgresql,Sql,Postgresql,我想选择最近10个工作日内的行。工作日假定为有行的日期 提前谢谢 select * from your_table where your_table.date_field >= current_date - interval '10' day; 用您的表名替换您的表,用日期字段替换日期字段,然后玩得开心。您只需使用以下方法来度过最后十天: select t.* from table t where t.date in (select t2.date fr

我想选择最近10个工作日内的行。工作日假定为有行的日期

提前谢谢

select * from your_table where your_table.date_field >= current_date - interval '10' day;

用您的表名替换您的表,用日期字段替换日期字段,然后玩得开心。

您只需使用以下方法来度过最后十天:

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
                );
另一种方法是使用稠密秩函数:

select t.*
from (select t.*, dense_rank() over (order by date desc) as seqnum
      from table t
     ) t
where seqnum <= 10;

这两种方法都假定date列没有时间组件。删除时间部分对于这两个版本来说都是一个微不足道的调整。

编辑您的问题并显示示例数据和所需结果。此问题不需要示例数据。这个问题不言自明。