Search Postgresql Archives

Re: Recursive Queries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alex,


On Thu, Apr 16, 2020 at 10:36 AM Alex Magnum <magnum11200@xxxxxxxxx> wrote:
Hi,
I have a simple table with singup timestamps

What I would like to do is to create a table as shown below that displays the counts per our for the past n dates.

I can do this with a function but is there an easy way to use recursive queries?


     Counts per hour for given date
HR   2020-04-01  2020-04-02  ... 2020-04-10
00      38           33              36  
01      33           26              18
02      26           36              17
03      36           18              10
04      18           17               3
05      17           10               3
06      10            3               6
07       3            3              10
.        3            6              13
.        6           10              22
.       10           13              12
22      13           22               9
23      22           11               8


Thanks for any suggestions. 
A

You don't need subqueries. The WHEN statement can help you in this case (a bit tedious to write but fast to run):

WITH q AS (select date_part('hour', ts) AS hr, ts::date AS mydate FROM your_table_or_query)
SELECT hr,
    sum(CASE WHEN mydate = '2020-04-01'::date THEN 1 ELSE 0 END),
    sum(CASE WHEN mydate = '2020-04-02'::date THEN 1 ELSE 0 END),
    ...
FROM q ORDER BY hr;


Hope it helps
--
Olivier Gautherot
Tel: +33 6 02 71 92 23 
https://www.linkedin.com/in/ogautherot/ 

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux