函数中表的SQL行数(应该很容易)
我想对查询返回的表的行进行编号。更具体地说,我的函数随机化表中的行。我想要一个额外的列,在随机化完成后从1-n开始计数。以下是我目前使用的随机函数代码:函数中表的SQL行数(应该很容易),sql,postgresql,Sql,Postgresql,我想对查询返回的表的行进行编号。更具体地说,我的函数随机化表中的行。我想要一个额外的列,在随机化完成后从1-n开始计数。以下是我目前使用的随机函数代码: create or replace function random_surnames(num integer) returns table(name character(30)) as $$ begin RETURN QUERY select public."Surname".surname from public."
create or replace function random_surnames(num integer)
returns table(name character(30)) as
$$
begin
RETURN QUERY
select public."Surname".surname
from public."Surname"
order by random()
Limit num;
end;
$$
language 'plpgsql' volatile;`
这应该足够简单,我似乎无法在线找到解决方案,可能是因为我没有使用正确的关键字。这可以通过使用行号和子查询来实现,下面是一个将查询转换为该查询的示例:
select *, ROW_NUMBER() OVER () FROM
(select public."Surname".surname
from public."Surname"
order by random()
Limit num) subq;
这可以通过使用行数和子查询来实现,下面是一个将查询转换为该行数的示例:
select *, ROW_NUMBER() OVER () FROM
(select public."Surname".surname
from public."Surname"
order by random()
Limit num) subq;
以秒击败我…:)+1工作起来很有魅力!非常感谢,我对此困惑了一个多小时!现在它有意义了@JorgeCampos感谢编辑wellBeat me by seconds…:)+1工作起来很有魅力!非常感谢,我对此困惑了一个多小时!现在它有意义了@JorgeCampos也感谢您的编辑