sql array 数组基本用法(三)
展平数组
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 数组基本用法(三)相关推荐
- sql array 数组基本用法(四)
查询嵌套数组 SELECT "800M" AS race,[STRUCT("Rudisha" as name, [23.4, 26.3, 26.4, 26.1] ...
- sql array 数组基本用法(二)
访问数组元素 WITH sequences AS(SELECT [0, 1, 1, 2, 3, 5] AS some_numbersUNION ALL SELECT [2, 4, 8, 16, 32] ...
- JavaScript的json和Array及Array数组的使用方法
1.关于json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.也可以称为数据集和数组类似,能够存数据! //Ar ...
- SQL、LINQ、Lambda 三种用法(转)
SQL.LINQ.Lambda 三种用法 颜色注释: SQL LinqToSql Lambda QA 1. 查询Student表中的所有记录的Sname.Ssex和Class列. select sna ...
- [CareerCup] 3.1 Implement Three Stacks using Array 使用数组来实现三个栈
3.1 Describe how you could use a single array to implement three stacks. 这道题让我们用一个数组来实现三个栈,书上给了两种方法, ...
- mybatis使用foreach遍历list集合或者array数组方式
向sql传递数组或List,mybatis使用foreach解析:foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合:foreach元素的属性主要有item,index,co ...
- Js Array数组ES5/ES6常用方法
Js Array数组ES5/ES6常用方法 1.栈方法(先进后出) push():在数组的最后一项后追加值(参数:可以为多个值或数组) 返回:数组的长度,改变了原数组. var a=[1,2,3] a ...
- linux 关联数组,Linux shell数组与关联数组的用法实例
Linux shell数组与关联数组的用法实例 1. 关联数组 使用 declare -A(declare 的用法请使用 help 进行查看,help declare) 进行声明关联数组变量: $ d ...
- es6入门6--数组拓展运算符,Array.from()基本用法
本文只是作为ES6入门第九章学习笔记,在整理知识点的同时,会加入部分个人思考与解答,若想知道更详细的介绍,还请阅读阮一峰大神的ES6入门 一.拓展运算符 ES6中新增了拓展运算(...)三个点,它的作 ...
最新文章
- Python3 Urllib学习
- kirin710f是什么处理器_麒麟710a与麒麟710f哪个好?对比区别哪款性能更好一些
- ECMAScript、JavaScript与Nodejs的区别
- Java四种引用包括强引用,软引用,弱引用,虚引用。
- Markdown文档如何分页以及导出的PDF如何分页
- 拓端tecdat|R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列
- Oracle数据库备份与还原语句
- 论文选题的原则、来源与方法
- easyUI动态加载combobox
- 手机连接电脑热点后,无法上网
- 企业网站开发需要注意什么事项?
- 阅读不懂,图书之过——《大话设计模式》创作历程 (转载)
- 面向金融的R语言_L3
- matlab 压缩感知矩阵_【精读】基于MATLAB的钢筋下料优化算法
- 黎明前的黑暗(励志歌)
- 26.K-均值算法的优化目标、随机初始化、聚类数的选择
- ProtoBuf(protocol buffer) 网络传输协议
- shell date 命令
- 贪玩蓝月怎么赚人民币 回收RMB是否真实?
- android游戏出现闪退问题怎么解决方法,游戏出现频繁闪退解决方法参考 游戏频繁闪退怎么办...
热门文章
- Monte Carlo仿真方法的基本思想及其特点
- 【js】版本号对比处理方案
- CSS概念,引入,选择器
- eyoucms的添加内容发布
- 一个快速、高效的Levenshtein算法实现
- java Map 怎么遍历
- [你必须知道的.NET]第九回:品味类型---值类型与引用类型(中)-规则无边
- VS.net下编写makefile文件--NMAKE用法
- java list.add()与list.addAll()方法
- Android Button Example-onClickListener-Intent