I take it this WHERE clause takes care of the calender month.
Did you try it? If you did, what happened? Can I assume that you are not familiar with the extended syntax of the trunc function, nor the add_months function?
You can (and really, really should) see all the info you need on these two by looking up the documentation and startinghere:
Please tell me how I can cover the last 30 days?
You managed to get it, on your own, for one day. Simply extend that logic for 30 days.