如何在postgres select语句中使用函数参数

时间:2019-06-28 17:40:35

标签: sql postgresql

我一般对Postgres或sql还是很陌生,我不知道如何在select子句中使用函数参数。

我想做的是能够将列名传递给一个函数,该函数然后按此参数对所有记录进行分组并将其包括在返回的表中。我无法确定的是如何在select语句中扩展变量。当我运行以下查询时,对于所选列,我得到的只是我传递给函数的值。如何使用参数的值作为选择的列?

CREATE FUNCTION get_some_transactions(col_name varchar(10))
  RETURNS TABLE(col_name varchar(10), sum float) AS $$
    SELECT
      col_name AS col_name,
      sum(amount)
    FROM
      transaction
    GROUP BY
      col_name;
  $$ LANGUAGE SQL;

get_some_transaction('recipient');

返回类似的内容

col_name |amount
---------*--------
recipient|321782.2

0 个答案:

没有答案