sql - 在 SQL 中,如何将一个数字乘以一个数组

标签 sql arrays postgresql operation

基本上,我有一个数组,我需要将一个数字乘以每个元素,例如:

x float[1,2,3,4,5];
x := x * 10; --of course I get the error here

所以输出将是: {10,20,30,40,50}

最佳答案

您可以使用 unnest -> 进行计算 -> array_agg:

SELECT array_agg(unnest * 10)  FROM UNNEST('{1,2,3,4,5}' :: int[])

DBFiddle Demo


要确定元素的顺序,您可以添加 WITH ORDINALITY:

SELECT array_agg(unnest * 10 ORDER BY ordinality) 
FROM UNNEST('{1,2,3,4,5}' :: int[] )WITH ORDINALITY

关于sql - 在 SQL 中,如何将一个数字乘以一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49328654/

相关文章:

sql - 从 "has one through"关系中查找最近的记录

postgresql - SQL : Adding Aliases to a column value

sql - SELECT DISTINCT INTO 语法错误 interbase sql

php - MAMP 上的 MySQL 表单无法正常工作

javascript - 这两种在 JavaScript 中创建数组列表的方法有什么区别?

python - 评估 python 中的 for 循环,包含带有嵌入 for 循环的数组

java - 在 Java 中使用 .split 拆分字符串数组

json - 用于存储键值映射的最佳 PostgreSQL 数据类型?

mysql - 计算引用 parent 和 child 的行数

mysql - 统计某一列中具有相同ID的表,并显示最高的