简体   繁体   English

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

[英]Select a random row from a db

I am looking for a solution which gives me a random row from a hsql db back. 我正在寻找一个解决方案,它给我一个hsql数据库的随机行。

CREATE TABLE Playlist(
    id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
);

Any ideas? 有任何想法吗?

UPDATE: 更新:

SELECT LIMIT 0 1 RAND(), p.name as foo
From Playlist p
ORDER BY foo

with this statement I get a random number back, but not a random playlist name. 我用这个语句得到一个随机数字,但不是一个随机的播放列表名称。

You should go to How to request a random row in SQL? 您应该转到如何在SQL中请求随机行?

It covers a quite a few options on how to do what you need. 它涵盖了很多关于如何做你需要的选择。

SELECT p.name as foo
From Playlist p
ORDER BY RAND() LIMIT 1

If you are using Oracle, you need a subselect using Rownum instead of limit. 如果您使用的是Oracle,则需要使用Rownum而不是limit来进行子选择。 see How do I limit the number of rows returned by an Oracle query after ordering? 请参阅如何在订购后限制Oracle查询返回的行数?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM