相关疑难解决方法(0)

计算Postgresql中的累计总数

我正在使用countgroup by获得每天注册的订阅者数量:

  SELECT created_at, COUNT(email)  
    FROM subscriptions 
GROUP BY created at;
Run Code Online (Sandbox Code Playgroud)

结果:

created_at  count
-----------------
04-04-2011  100
05-04-2011   50
06-04-2011   50
07-04-2011  300
Run Code Online (Sandbox Code Playgroud)

我想每天获得累计订阅者总数.我怎么得到这个?

created_at  count
-----------------
04-04-2011  100
05-04-2011  150
06-04-2011  200
07-04-2011  500
Run Code Online (Sandbox Code Playgroud)

sql postgresql aggregate-functions

53
推荐指数
2
解决办法
5万
查看次数

按月计算的累计值总和,填写缺失的月份

我有这个数据表,我想知道是否有可能创建一个查询,按月计算累积总和,考虑到当月的所有月份.

date_added                    | qty
------------------------------------
2015-08-04 22:28:24.633784-03 | 1
2015-05-20 20:22:29.458541-03 | 1
2015-04-08 14:16:09.844229-03 | 1
2015-04-07 23:10:42.325081-03 | 1
2015-07-06 18:50:30.164932-03 | 1
2015-08-22 15:01:54.03697-03  | 1
2015-08-06 18:25:07.57763-03  | 1
2015-04-07 23:12:20.850783-03 | 1
2015-07-23 17:45:29.456034-03 | 1
2015-04-28 20:12:48.110922-03 | 1
2015-04-28 13:26:04.770365-03 | 1
2015-05-19 13:30:08.186289-03 | 1
2015-08-06 18:26:46.448608-03 | 1
2015-08-27 16:43:06.561005-03 | 1
2015-08-07 12:15:29.242067-03 | 1
Run Code Online (Sandbox Code Playgroud)

我需要这样的结果:

Jan|0
Feb|0
Mar|0
Apr|5
May|7
Jun|7
Jul|9
Aug|15
Run Code Online (Sandbox Code Playgroud)

sql postgresql aggregate-functions window-functions generate-series

5
推荐指数
1
解决办法
6436
查看次数

如何获得Postgres中时间间隔的平均值

我正在使用PostgreSQL 9.6.我有这样一张桌子:

mac   sn         loc   time     date      vin1    vin2    vin3
1a34 4as11111111 aaaa  7:06:18  1/1/2018  447.42  472.32  682.59
1a34 4as11111111 aaaa  7:06:43  1/1/2018  455.97  476.25  682.59
1a34 4as11111111 aaaa  7:07:35  1/1/2018  470.88  484.2   682.5
Run Code Online (Sandbox Code Playgroud)

我需要计算的平均vin1,vin2,vin3300秒(5分钟)的时间间隔内.例如,从第一次(7:06:18 - 7:11:18)开始,为范围内的日期.我可以使用此查询选择我需要的数据:

select * from table
where sn='4as11111111' and date between '2018-01-01' and '2018-01-02';
Run Code Online (Sandbox Code Playgroud)

但我不知道如何用300秒的时间间隔组,并为计算平均vin1,vin2,vin3对于那些5分钟间隔栏,让这样的事情:

mac  sn          loc     time     date      vin1_av  vin2_av  vin3_av
1a34 4as11111111 aaaa   7:06:18  1/1/2018  450.0    480.32   600.59
1a34 4as11111111 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql group-by average generate-series

3
推荐指数
1
解决办法
1971
查看次数