以下是一个提供2列结果的函数。
在这个函数中,使用了循环来返回结果。
函数如下:
创建重复_rs类型: ``` Create Type Repeat_rs as ( label text, count bigint ) ```
创建Repeat函数: ``` CREATE OR REPLACE FUNCTION Repeat(fromDate date,toDate date) returns SETOF Repeat_rs AS $$ Declare someVariableName Repeat_rs; BEGIN For someVariableName in ( SELECT label, count(*) AS Cnt from test where date between fromDate and toDate group by circle ) Loop Return Next someVariableName; End Loop; Return; END; $$ LANGUAGE plpgsql; ```
有没有可能不使用循环返回行?
如果可以,请告诉我如何做到。
我能否编写一个函数将记录插入表中而不使用循环?
帮我解决这个问题。谢谢。
在这个函数中,使用了循环来返回结果。
函数如下:
创建重复_rs类型: ``` Create Type Repeat_rs as ( label text, count bigint ) ```
创建Repeat函数: ``` CREATE OR REPLACE FUNCTION Repeat(fromDate date,toDate date) returns SETOF Repeat_rs AS $$ Declare someVariableName Repeat_rs; BEGIN For someVariableName in ( SELECT label, count(*) AS Cnt from test where date between fromDate and toDate group by circle ) Loop Return Next someVariableName; End Loop; Return; END; $$ LANGUAGE plpgsql; ```
有没有可能不使用循环返回行?
如果可以,请告诉我如何做到。
我能否编写一个函数将记录插入表中而不使用循环?
帮我解决这个问题。谢谢。
circle
分组,但将label
用作所选列。http://www.postgresql.org/docs/9.3/static/sql-select.html#SQL-GROUPBY - pozsgroupby
中包含标签,查询将无法运行。 - Unknown User