从数据库中选择一个随机行

时间:2013-01-12 14:30:46

标签: sql database hsqldb

我正在寻找一个解决方案,它从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

使用此语句我会得到一个随机数字,但不是随机播放列表名称。

1 个答案:

答案 0 :(得分:2)

您应该转到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?