about summary refs log tree commit diff
path: root/users/grfn/bbbg/src/bbbg/db/event.clj
diff options
context:
space:
mode:
Diffstat (limited to 'users/grfn/bbbg/src/bbbg/db/event.clj')
-rw-r--r--users/grfn/bbbg/src/bbbg/db/event.clj10
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)))