我正在寻找一个解决方案,它从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
使用此语句我会得到一个随机数字,但不是随机播放列表名称。
答案 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?