From: | Larry Rosenman <ler(at)lerctr(dot)org> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Can I simplify this somehow? |
Date: | 2013-09-27 15:22:09 |
Message-ID: | 4d75971ff9afefca1f715960b59ef986@webmail.lerctr.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
I tried(!) to write this as a with (CTE), but failed.
Can one of the CTE experts (or better SQL writer) help me here?
-- generate a table of timestamps to match against
select
generate_series(date_trunc('day',now()-'45 days'::interval),now()+'1
hour'::inte
rval,'1 hour')
AS thetime into temp table timestamps;
-- get a count of logged in users for a particular time
SELECT thetime,case extract(dow from thetime)
when 0 then 'Sunday'
when 1 then 'Monday'
when 2 then 'Tuesday'
when 3 then 'Wednesday'
when 4 then 'Thursday'
when 5 then 'Friday'
when 6 then 'Saturday' end AS "Day", count(*) AS
"#LoggedIn"
FROM timestamps,user_session
WHERE thetime BETWEEN login_time AND COALESCE(logout_time, now())
GROUP BY thetime
ORDER BY thetime;
Thanks for any help at all.
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 (c) E-Mail: ler(at)lerctr(dot)org
US Mail: 108 Turvey Cove, Hutto, TX 78634-5688
From | Date | Subject | |
---|---|---|---|
Next Message | David Johnston | 2013-09-27 17:42:31 | Re: postgres subfunction return error |
Previous Message | jonathansfl | 2013-09-27 14:57:16 | Re: postgres subfunction return error |