diff options
Diffstat (limited to 'users/grfn/bbbg/src/bbbg/db/event.clj')
-rw-r--r-- | users/grfn/bbbg/src/bbbg/db/event.clj | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/users/grfn/bbbg/src/bbbg/db/event.clj b/users/grfn/bbbg/src/bbbg/db/event.clj index 0fd0e3ec0795..41716499db03 100644 --- a/users/grfn/bbbg/src/bbbg/db/event.clj +++ b/users/grfn/bbbg/src/bbbg/db/event.clj @@ -3,6 +3,7 @@ [bbbg.attendee :as attendee] [bbbg.db :as db] [bbbg.event :as event] + [bbbg.util.sql :refer [count-where]] [honeysql.helpers :refer [merge-group-by merge-left-join merge-select]] [java-time :refer [local-date]])) @@ -38,6 +39,15 @@ (merge-select :%count.event_attendee.attendee_id) (merge-group-by :event.id :event_attendee.event-id))) +(defn with-stats + [query] + (-> query + (merge-left-join :event_attendee [:= :event.id :event_attendee.event-id]) + (merge-select + [(count-where :event-attendee.rsvpd_attending) :num-rsvps] + [(count-where :event-attendee.attended) :num-attendees]) + (merge-group-by :event.id))) + (comment (def db (:db bbbg.core/system)) (db/list db (-> (today) (with-attendee-counts))) |