如何 return 两列同功能

How to return two columns with function

我想用我的 SQL 函数 return 2 个值:

CREATE OR REPLACE FUNCTION get_avg_prices(...)
  RETURNS table(avg_sale_price decimal, avg_rent_price decimal) 
AS
$$

SELECT 
  building_prices.avg_sale_price, 
  building_prices.avg_rent_price
FROM 
  ...

$$
  LANGUAGE sql;

有效,但 returns 单列中的值:

如何 return 2 个单独列中的值?

Table 函数(定义为 returns tablereturns setof 的函数)需要像 table 一样在 from 子句中使用。

所以你需要使用:

select * 
from get_avg_prices(...);

只有标量函数(return 只有单个值的函数,例如数字)应放入 select 列表。