Это возможно, если у вас есть начальный день.
Один такой случай, когда я работал, требовалось сгруппировать такие даты, начиная с даты начала месяца.
Select count(1) as cnt -- or whatever your logic is
From your_table
Group by trunc(yourdate, 'month'),
Ceil(Extract(day from yourdate)/2);
Это уйдет31-го числа любого месяца в одной группе. Но да, ваши 19 и 20 даты будут в одной группе.
Приветствия !!