Отфильтруйте получившуюся таблицу по номерам недель. Оставьте в таблице данные за 5, 7, 10, 33 и 48-ю недели

SELECT customer_id,
       invoice_date,
       total,
       DATE_TRUNC('month', CAST(invoice_date AS timestamp)),
       EXTRACT(WEEK FROM CAST(invoice_date AS timestamp))
FROM invoice
WHERE customer_id BETWEEN 20 AND 50 
    AND EXTRACT(WEEK FROM CAST(invoice_date AS TIMESTAMP)) IN (5,
                                                               7,
                                                               10,
                                                               33,
                                                               48);

Результат

customer_id    invoice_date    total    date_trunc    extract
20    2011-02-20 00:00:00    8.91    2011-02-01 00:00:00    7
21    2009-03-05 00:00:00    3.96    2009-03-01 00:00:00    10

Теперь можно отбирать заказы по месяцам и неделям — с помощью специальных функций это сделать просто.