I have a users and user_data table. I’m trying to show signups by
created_at and group it by the count for that day, and show a record for each day, so I can see the increment of user sign ups.
user_data is optional, and isn’t always there (yet), but I only want to count rows which do have a user_data row.
I’m running this, but its just returning 1 row for each user sign up, how can I group the dates?
SELECT COUNT(*), created_at, email FROM users INNER JOIN user_data ON users.id = user_data.user_id GROUP BY users.created_at, email
you need to group by the date portion of the
SELECT DATE(users.created_at) AS signup_date, COUNT(*) AS signup_count FROM users INNER JOIN user_data ON users.id = user_data.user_id GROUP BY signup_date;