My table is like:
2021-03-01 2021-03-02 (for exmp. 3rd March is holiday and not including to table) 2021-03-04 2021-03-05 ... 2021-05-03 2021-05-04 2021-05-05 2021-05-06 2021-05-07 ...
And I should get result as 2021-03-05 for march, and 2021-05-06 for may.
So every month I should get the 4th row as date result.
Advertisement
Answer
You can use row_number()
. But the real trick are the date functions. Let me assume that your database supports year()
and month()
:
select t.* from (select t.*, row_number() over (partition by year(col), month(col) order by col) as seqnum from t ) t where seqnum = 4;