在postgres中,Psql希望从表中选择count *并将值传递给变量,然后使用变量作为函数的输入。 我正在尝试这个没有成功
\set cnt "select count(*)/1000 from table;"
select fn_something(cnt);
答案 0 :(得分:1)
您应该可以使用CTE在纯SQL中执行此操作。
WITH
cnt as (
SELECT
(count(*)/1000) as cnt
FROM
table
)
SELECT
fn_something(SELECT cnt FROM cnt)
;
答案 1 :(得分:1)
您可以使用子查询作为函数的参数来执行此操作:
SELECT fn_something((SELECT count(*)/1000 FROM atable));
请注意PostgreSQL将使用整数除法,即结果将被截断。如果您不想这样,请写1000.0
以获得double precision
结果。