mysql - SQL Statement - Create a Report with three totals -
having little trouble creating query in mysql. think i'm missing obvious.
i have users table, has column called device (android, ios, windows 3 possible values). create report tells me how many users registered each day (so group date) each device (so total in each column).
i able make query tells me how many users registered total first column, couldn't sub-queries working in next few columns.
right working query tried this:
select count(u.userid) 'total users', date(u.datecreated) 'day' users group date(u.datecreated) order u.datecreated desc this produces nice aggregated report me shows # of users created each day (the total 1 column, date total second column)
so expanding on working query above, tried making subquery keeps producing '1' result new column.
select count(distinct u.userid) 'total users', (select count(u1.userid) users u1 u1.datecreated = u1.datecreated , u.device = 'android' group u1.datecreated) 'android users', date(u.datecreated) 'day' users u group date(u.datecreated) order u.datecreated desc how inner query produce total number of android users day?
for each type of device can count subtotal using case statement.
try this:
select count(u.userid) 'total users', sum(case when device = 'android' 1 end) android, sum(case when device = 'ios' 1 end) ios, sum(case when device = 'windows' 1 end) windows, date(u.datecreated) 'day' users group date(u.datecreated) order date(u.datecreated) desc
Comments
Post a Comment