From: Sean Davis <sdavis2@mail.nih.gov>
To: Josep SanmartĂ <josep.sanmarti@openwired.net>
To: pgsql-sql@postgresql.org
Subject: Re: How to join several selects
Date: Wed, 24 Aug 2005 10:03:26 -0400
Message-ID: <BF31F66E.D0DF%sdavis2@mail.nih.gov> (raw)
In-Reply-To: <430C7A21.9020306@openwired.net>
On 8/24/05 9:46 AM, "Josep SanmartĂ" <josep.sanmarti@openwired.net> wrote:
> Hello,
> I have a 'big' problem:
> I have the following table users(name, start_time, end_time), a new row
> is set whenever a user logs into a server. I want to know how many
> users have logged in EVERYDAY between 2 different dates. The only idea
> that I have is making several select (one for each day):
> SELECT COUNT(name) FROM users WHERE start_time between "startDate"
> and "startDate+1"
> SELECT COUNT(name) FROM users WHERE start_time between "startDate+1"
> and "startDate+2"
> ...
> I would like to know if its possible to make it in 1 sql statement or
> just which is the best efficient way to solve it.
> By the way, I use Postgres 7.4.
See:
http://www.postgresql.org/docs/8.0/interactive/sql-select.html#SQL-UNION
like:
SELECT COUNT(name) FROM users WHERE start_time between "startDate"
and "startDate+1"
union
SELECT COUNT(name) FROM users WHERE start_time between "startDate+1"
and "startDate+2"
Sean
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: sdavis2@mail.nih.gov, josep.sanmarti@openwired.net
Subject: Re: How to join several selects
In-Reply-To: <BF31F66E.D0DF%sdavis2@mail.nih.gov>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox