yeah we can setup a after_save callback to manually increase or decrease the count, the default counter cache defined for `belongs_to` does not fit here.

and BTW in the query I think we don't need to check `created_at IS NOT NULL`.