我想扩展下面的内容以返回多行,其中每一行都有不同的随机值数组

  with base as (
       -- makes a random number 0 to 50, adds up to 10 into an array
select groupArray(10)(rand()%50) as values 
       -- generates 10 rows
  from numbers(10) 
)
select values, arrayMax(base.values)
  from base

当前查询的图像结果:

enter image description here

推荐答案

try 这样:

WITH
    10 AS x,
    5 AS y,
    base AS
    (
        SELECT groupArray(rand() % 50) AS values
        FROM
        (
            SELECT toUInt32(number / x) AS row
            FROM system.numbers
            LIMIT x * y
        )
        GROUP BY row
    )
SELECT
    values,
    arrayMax(base.values)
FROM base

/*
┌─values──────────────────────────┬─arrayMax(values)─┐
│ [16,35,13,40,37,45,33,10,47,31] │               47 │
│ [14,39,36,26,20,6,24,43,43,19]  │               43 │
│ [41,45,24,18,20,28,21,45,3,36]  │               45 │
│ [7,29,19,2,23,49,18,2,12,6]     │               49 │
│ [0,17,4,5,27,22,7,3,44,43]      │               44 │
└─────────────────────────────────┴──────────────────┘
*/

Sql相关问答推荐

SQL是否可以计算每年的所有日期变化?

更新在两个或多个面中具有交点的面

retrofit AWS Athena中的JSON

Oracle SQL-将结果列在单行中

Oracle SQL根据列中的条件 Select 最大记录数

按两列分组,并根据SQL中的条件返回第三个列值

SQL递归.硬币兑换问题.-try 使用递归解决硬币找零问题

从单个表达式中的分隔字符串中取平均值

将时间范围划分为全天和前后剩余小时

Snowflake 中的分层数据

如何根据 SQL 中的阈值标记一个集群中的所有值?

Postgres,使用 select 插入多个值

BigQuery数组是否包含NULL值的判断方法

for each 客户查找每个类别的最新评分

String_Split 多列

在 BigQuery 数据集中查找表大小和占总数据集大小的百分比

SELECT 用于 Parent、Children 和 ORDER BY [Order] 列

条件意外地显着降低性能的地方

如何通过子 Select 在一次更新(并行数组)中多次更新相同的行

每组跨行曲折?