【发布时间】:2011-10-26 17:56:34
【问题描述】:
我在从 sqlite 数据库中选择随机行时遇到问题,这可以选择所有符合条件的行:
tx.executeSql('SELECT * FROM games WHERE genre="fps" AND decade=90', [], renderResultsTest);
如果我随后尝试仅随机检索其中一个,它将无法正常工作:
tx.executeSql('SELECT * FROM games WHERE genre="fps" AND decade=90 ORDER BY RANDOM() LIMIT 1', [], renderResultsTest);
我有一个解决方法,我使用第一条语句并循环遍历将行 ID 放入数组的结果,然后从数组中选择一个随机 ID。这很好用,但我更愿意直接在一个语句中完成。
我之前在这里看到过这个问题并自己用谷歌搜索过,但似乎随机顺序和限制为一个结果应该有效,是我的语法错误还是其他导致问题的原因?
欢迎任何建议,
谢谢
【问题讨论】:
-
它在 sqlite 中的 RANDOM 显然是 sqlite.org/lang_corefunc.html 不过谢谢,无论如何都试过了,没有区别
-
如果其他人读到这个,它似乎 random() 不会与 html5 本地存储一起工作,尝试在 chrome 和 safari 中。感谢朱尔斯的帮助。
标签: javascript sqlite