从数据库中选择一个随机行
Posted
技术标签:
【中文标题】从数据库中选择一个随机行【英文标题】:Select a random row from a db 【发布时间】:2013-01-12 14:30:46 【问题描述】:我正在寻找一种解决方案,它可以从 hsql db 返回随机行。
CREATE TABLE Playlist(
id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
name VARCHAR(255) NOT NULL,
);
有什么想法吗?
更新:
SELECT LIMIT 0 1 RAND(), p.name as foo
From Playlist p
ORDER BY foo
通过此语句,我得到一个随机数,但不是随机播放列表名称。
【问题讨论】:
哪个 RDBMS?你试过什么? ***.com/questions/19412/… 涵盖了这个 我可以取回一个随机数,但不能取回随机元素... 请把它写成答案,这样我就可以排除它了。谢谢你的解决方案!!! 写在下面@PeterWooster:D
【参考方案1】:
你应该去How to request a random row in SQL?
它涵盖了很多关于如何做你需要做的事情的选项。
SELECT p.name as foo
From Playlist p
ORDER BY RAND() LIMIT 1
如果您使用 Oracle,则需要使用 Rownum 而不是 limit 的子选择。见How do I limit the number of rows returned by an Oracle query after ordering?
【讨论】:
感谢@bonCodigo,请注意,限制在 mysql 中运行良好,但在 oracle 中不行,它变得更加丑陋。 忘记添加链接了.. ;) viralpatel.net/blogs/…以上是关于从数据库中选择一个随机行的主要内容,如果未能解决你的问题,请参考以下文章