gpt4 book ai didi

sql - 在 SQLite 中选择随机行

转载 作者:IT王子 更新时间:2023-10-29 06:17:02 26 4
gpt4 key购买 nike

在 MySQL 中,您可以使用以下语句选择 X 个随机行:

SELECT * FROM table ORDER BY RAND() LIMIT X

但是,这在 SQLite 中不起作用。有没有等价物?

最佳答案

为了更好的性能使用:

SELECT * FROM table WHERE id IN (SELECT id FROM table ORDER BY RANDOM() LIMIT x)

SQL 引擎首先将行的投影字段加载到内存中,然后对它们进行排序,这里我们只是对内存中的每一行的 id 字段进行随机排序,因为它已被索引,然后将它们分开 X , 并使用这些 X id 找到整行。

因此随着表的增长,这会消耗更少的 RAM 和 CPU!

关于sql - 在 SQLite 中选择随机行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4114940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com