首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将查询结果放入数组

将查询结果放入数组
EN

Stack Overflow用户
提问于 2014-09-19 08:16:57
回答 1查看 122关注 0票数 0

我编写了一个SQL查询,它在结果集中返回一个库:

rate这里有float类型。

代码语言:javascript
运行
复制
SELECT rate 
    FROM partner.exchange
    WHERE id in (
     (SELECT max(id) 
    FROM partner.exchange 
    WHERE currency_id = 1), 
     (SELECT max(id) 
    FROM partner.exchange 
    WHERE currency_id = 2), 
     (SELECT max(id) 
    FROM partner.exchange 
    WHERE currency_id = 3)
    );

我需要编写plpgsql函数,它将结果放入浮点数数组并返回一个。我怎么能这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-19 10:12:38

由于查询的结果只有一个列,所以它的行可以放在一个数组中:

代码语言:javascript
运行
复制
SELECT ARRAY(SELECT rate FROM ...[rest of subquery]);

要从SQL中的这个数组中获取一个特定的元素,比如第三个元素,您可以编写:

代码语言:javascript
运行
复制
SELECT s.x[3] FROM 
 (SELECT ARRAY(SELECT rate FROM ...[rest of subquery]) AS x)
 AS s;

在程序方面,这可以是:

代码语言:javascript
运行
复制
DECLARE
  x float[];
  ...
BEGIN
  ...
  SELECT ARRAY(SELECT rate FROM ...[rest of subquery]) INTO x;
  RETURN x[3];
END
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25929346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档