sqlite - webkit 中的 sqlite 是否支持 RANDOM() 函数?

标签 sqlite random safari cordova

我正在为 iOS 编写一个基于 Phonegap 的应用程序,并试图通过 Javascript 从我的 Safari webkit 数据库返回 10 个随机行。我的查询是:

queryString = "SELECT * FROM SBA_TABLE
 WHERE (cat_gastrointestinal = 1)
 AND (answered_correctly = 0 OR answered_correctly = 1 OR answered_correctly = 2)
 ORDER BY RANDOM() LIMIT 10";

tx.executeSql(queryString, [], querySuccess5, errorCB);

如果我省略“ORDER BY RANDOM()”语句,这让我相信这是不受支持的,那么这将起作用。有没有我可以使用的 RANDOM 方法,或者我是否必须生成 10 个随机数并进行 10 次数据库调用?!谢谢,尼克

最佳答案

我刚刚遇到了同样的问题,我用这样的解决方法解决了它:

seed = (Math.random() + 1) * 1111111;
queryString = "SELECT * FROM SBA_TABLE
 WHERE (cat_gastrointestinal = 1)
 AND (answered_correctly = 0 OR answered_correctly = 1 OR answered_correctly = 2)
 ORDER BY ROWID * ? % 10000 LIMIT 10";

tx.executeSql(queryString, [ seed ], querySuccess5, errorCB);

在查询中使用 Javascript Math.random() 函数和对表 ROWID 取模。

关于sqlite - webkit 中的 sqlite 是否支持 RANDOM() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5588563/

相关文章:

c++ - 我将如何制作随机种子/哈希以使 Rand 实际上是随机的?

c++ - 从0到7生成8个唯一的随机数

safari - 如何导出 Safari Web Inspector 时间线数据?

.net - 如何使用 Microsoft.Data.SQLite 存储包含空字符的 BLOB?

ios - SQLite 与核心数据 : saving large amounts of data

android - 恢复 SQLite 数据库文件

safari - iPadOS 13.1 的 Safari 上的 Fabric 安装程序页面未被识别为 "device"

java - 如何在使用 SQLite 操作期间添加行?

c# - 如何在 Windows 设备之间使用相同的随机种子?

html - Safari 15 中的过度滚动背景颜色(即视点上方/下方)