我试着用WITH操作符生成三个随机数。
WITH loop(n) AS (
SELECT 1
UNION ALL
SELECT CAST(ABS(RANDOM() % 1E2) AS INTEGER) FROM loop
LIMIT 3
)
SELECT group_concat(n) FROM loop;但是,每次我的代码返回类似1, 81, 63或1, 9, 28之类的内容时,换句话说,第一个数字序列并不是随机的。我的问题似乎已经在SELECT操作符中讨论过了,但是目前我还不知道如何解决这个问题。
发布于 2018-02-15 07:12:54
启动CTE的数字1是在select中硬编码的,这解释了为什么您的三个数字集总是以1开头。
WITH loop(n) AS (
SELECT CAST(ABS(RANDOM() % 1E2) AS INTEGER)
UNION ALL
SELECT CAST(ABS(RANDOM() % 1E2) AS INTEGER) FROM loop
LIMIT 3
)
SELECT group_concat(n) FROM loop;https://stackoverflow.com/questions/48801639
复制相似问题