首页 > 解决方案 > PostgreSQL 中的存储过程(聚合)

问题描述

我正在使用 PostgreSQL,我的表列如下。我需要想出一个存储过程以及两个输入参数。

  1. ID
  2. 电话号码
  3. 开始时间
  4. 时间结束
  5. orgid(输入参数)
  6. 组织名称
  7. customer_type(输入参数)

我的预期输出是

“totalCalls”:12000,“todaysCalls”:520,“lastDayCalls”:888,“currentMonthCalls”:865210

商业逻辑:

这里 orgid 和 customer_type 字段是可选的,如 where 条件参数

  1. totalCalls = 统计该表中的所有记录
  2. todaysCalls = 计算此表中的所有记录,比较 start_time 列和当前日期,例如 WHERE ((date(c.start_time) >= date(current_date))
  3. lastDayCalls = 计算此表中的所有记录,比较 start_time 列和当前日期间隔,例如 WHERE ((date(c.start_time) = date(current_date - interval '1 day'))
  4. currentMonthCalls = 统计该表中当前月份的所有记录。

注意:可以针对上述每个条件评估 orgid 和 customer_type 列值。

谢谢!

标签: postgresqlstored-procedures

解决方案


推荐阅读