展平数组

SELECT *
FROM UNNEST(['foo', 'bar', 'baz', 'qux', 'corge', 'garply', 'waldo', 'fred'])AS element
WITH OFFSET AS offset
ORDER BY offset;
element offset
foo 0
bar 1
baz 2
qux 3
corge 4
garply 5
waldo 6
fred 7
如需展平一整列 ARRAY,同时保留每行中其他列的值,请使用 CROSS JOIN 将带有 ARRAY 列的表联接到该 ARRAY 列的 UNNEST 输出。这是一种相互关联的交叉联接:UNNEST 运算符引用了源表中每一行的 ARRAY 列,该列之前曾出现在 FROM 子句中。对于源表中的每一行 N,UNNEST 将行 N 的 ARRAY 展平成一组包含 ARRAY 元素的行,然后 CROSS JOIN 将这组新行与源表的单行 N 联接起来。
WITH sequences AS(SELECT 1 AS id, [0, 1, 1, 2, 3, 5] AS some_numbersUNION ALL SELECT 2 AS id, [2, 4, 8, 16, 32] AS some_numbersUNION ALL SELECT 3 AS id, [5, 10] AS some_numbers)
SELECT id, flattened_numbers
FROM sequences
CROSS JOIN UNNEST(sequences.some_numbers) AS flattened_numbers;
id flattened_numbers
1 0
1 1
1 1
1 2
1 3
1 5
2 2
2 4
2 8
2 16
2 32
3 5
3 10

sql array 数组基本用法(三)相关推荐

  1. sql array 数组基本用法(四)

    查询嵌套数组 SELECT "800M" AS race,[STRUCT("Rudisha" as name, [23.4, 26.3, 26.4, 26.1] ...

  2. sql array 数组基本用法(二)

    访问数组元素 WITH sequences AS(SELECT [0, 1, 1, 2, 3, 5] AS some_numbersUNION ALL SELECT [2, 4, 8, 16, 32] ...

  3. JavaScript的json和Array及Array数组的使用方法

    1.关于json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.也可以称为数据集和数组类似,能够存数据! //Ar ...

  4. SQL、LINQ、Lambda 三种用法(转)

    SQL.LINQ.Lambda 三种用法 颜色注释: SQL LinqToSql Lambda QA 1. 查询Student表中的所有记录的Sname.Ssex和Class列. select sna ...

  5. [CareerCup] 3.1 Implement Three Stacks using Array 使用数组来实现三个栈

    3.1 Describe how you could use a single array to implement three stacks. 这道题让我们用一个数组来实现三个栈,书上给了两种方法, ...

  6. mybatis使用foreach遍历list集合或者array数组方式

    向sql传递数组或List,mybatis使用foreach解析:foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合:foreach元素的属性主要有item,index,co ...

  7. Js Array数组ES5/ES6常用方法

    Js Array数组ES5/ES6常用方法 1.栈方法(先进后出) push():在数组的最后一项后追加值(参数:可以为多个值或数组) 返回:数组的长度,改变了原数组. var a=[1,2,3] a ...

  8. linux 关联数组,Linux shell数组与关联数组的用法实例

    Linux shell数组与关联数组的用法实例 1. 关联数组 使用 declare -A(declare 的用法请使用 help 进行查看,help declare) 进行声明关联数组变量: $ d ...

  9. es6入门6--数组拓展运算符,Array.from()基本用法

    本文只是作为ES6入门第九章学习笔记,在整理知识点的同时,会加入部分个人思考与解答,若想知道更详细的介绍,还请阅读阮一峰大神的ES6入门 一.拓展运算符 ES6中新增了拓展运算(...)三个点,它的作 ...

最新文章

  1. Python3 Urllib学习
  2. kirin710f是什么处理器_麒麟710a与麒麟710f哪个好?对比区别哪款性能更好一些
  3. ECMAScript、JavaScript与Nodejs的区别
  4. Java四种引用包括强引用,软引用,弱引用,虚引用。
  5. Markdown文档如何分页以及导出的PDF如何分页
  6. 拓端tecdat|R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列
  7. Oracle数据库备份与还原语句
  8. 论文选题的原则、来源与方法
  9. easyUI动态加载combobox
  10. 手机连接电脑热点后,无法上网
  11. 企业网站开发需要注意什么事项?
  12. 阅读不懂,图书之过——《大话设计模式》创作历程 (转载)
  13. 面向金融的R语言_L3
  14. matlab 压缩感知矩阵_【精读】基于MATLAB的钢筋下料优化算法
  15. 黎明前的黑暗(励志歌)
  16. 26.K-均值算法的优化目标、随机初始化、聚类数的选择
  17. ProtoBuf(protocol buffer) 网络传输协议
  18. shell date 命令
  19. 贪玩蓝月怎么赚人民币 回收RMB是否真实?
  20. android游戏出现闪退问题怎么解决方法,游戏出现频繁闪退解决方法参考 游戏频繁闪退怎么办...

热门文章

  1. Monte Carlo仿真方法的基本思想及其特点
  2. 【js】版本号对比处理方案
  3. CSS概念,引入,选择器
  4. eyoucms的添加内容发布
  5. 一个快速、高效的Levenshtein算法实现
  6. java Map 怎么遍历
  7. [你必须知道的.NET]第九回:品味类型---值类型与引用类型(中)-规则无边
  8. VS.net下编写makefile文件--NMAKE用法
  9. java list.add()与list.addAll()方法
  10. Android Button Example-onClickListener-Intent