【发布时间】:2019-11-28 19:21:28
【问题描述】:
我想创建一个存储过程或函数,它根据步骤(日、月、年)返回一段时间内列值的总和。例如,我有消费数据表。它每 15 分钟保存一次数据。我想通过步骤“1 天”获取 2019 年 5 月 1 日至 2019 年 5 月 10 日期间的报告。我需要为这个间隔中的每一天定义一个每日数据集,并获取每一天的值的总和。
然后程序将数据返回给 Laravel。基于此数据构建图表。
我此刻的代码:
CREATE OR REPLACE FUNCTION "public"."test"("meterid" int4, "started" text, "ended" text, "preiod" text)
RETURNS TABLE("_kwh" numeric, "datetime" timestamp) AS $BODY$BEGIN
RETURN QUERY
SELECT kwh, a_datetime
FROM "public"."consumption"
WHERE meter_id = meterid
AND a_datetime
BETWEEN to_timestamp(started, 'YYYY-MM-DD HH24:MI:SS')
AND to_timestamp(ended, 'YYYY-MM-DD HH24:MI:SS');
END$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000
我使用的是 PostgreSQL 10.7。
【问题讨论】:
标签: laravel postgresql stored-procedures stored-functions