Hi,

I've a table like:

=> SELECT dt FROM sales WHERE id = 2;
           dt
----------------------------
 2005-10-25 21:43:35.870049
 2005-10-25 21:43:36.254122
 2005-10-25 21:43:36.591196
 2005-10-25 21:43:36.893331
 2005-10-25 21:43:37.265671
 2005-10-25 21:43:37.688186
 2005-10-25 22:25:35.213171
 2005-10-25 22:25:36.32235
(8 rows)

And I want to collect the count of sales at hour = 21 and hour = 22.
For this purpose, I'm using below SELECT query:

=> SELECT
->     (SELECT count(id) FROM sales
->         WHERE id = 2
->         AND date_trunc('hour', dt) = '2005-10-25 21:00:00'),
->     (SELECT count(id) FROM sales
->         WHERE id = 2
->         AND date_trunc('hour', dt) = '2005-10-25 22:00:00');
 ?column? | ?column?
----------+----------
        6 |        2
(1 row)

Isn't it possible to combine these two SELECTs as one. Because one of
their filters are same: id = 2. I'm just trying to avoid making 2
scans with nearly same filters.

Regards.

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to