相关疑难解决方法(0)

如何在SQL中请求随机行?

如何在纯SQL中请求随机行(或尽可能接近真正随机)?

sql random

496
推荐指数
6
解决办法
42万
查看次数

选择随机行PostgreSQL的最佳方法

我想在PostgreSQL中随机选择一行,我试过这个:

select * from table where random() < 0.01;
Run Code Online (Sandbox Code Playgroud)

但其他一些人推荐这个:

select * from table order by random() limit 1000;
Run Code Online (Sandbox Code Playgroud)

我有一个非常大的表,有5亿行,我希望它快.

哪种方法更好?有什么区别?选择随机行的最佳方法是什么?

sql random postgresql performance

311
推荐指数
9
解决办法
19万
查看次数

ActiveRecord中的随机记录

我需要通过ActiveRecord从表中获取随机记录.我从2006年开始跟随Jamis Buck的例子.

但是,我也通过Google搜索遇到了另一种方式(由于新的用户限制,无法使用链接进行归因):

 rand_id = rand(Model.count)
 rand_record = Model.first(:conditions => ["id >= ?", rand_id])
Run Code Online (Sandbox Code Playgroud)

我很好奇这里的其他人是如何做到的,或者是否有人知道哪种方式会更有效率.

random ruby-on-rails rails-activerecord

147
推荐指数
11
解决办法
8万
查看次数

是否有postgres CLOSEST运营商?

我正在寻找一些东西,如下表:

| id | number |
|  1 |     .7 |
|  2 |   1.25 |
|  3 |   1.01 |
|  4 |    3.0 |
Run Code Online (Sandbox Code Playgroud)

查询SELECT * FROM my_table WHERE号码CLOSEST(1)将返回第3行.我只关心数字.现在我有一个程序只是循环遍历每一行并进行比较,但我认为信息应该可以从b树索引获得,所以这可能是一个内置的,但我找不到任何文件表明它确实如此.

sql postgresql

15
推荐指数
3
解决办法
8625
查看次数

Rails 5从db获取随机记录?

要从db获取单个随机记录,我目前正在做:

User.all.sample

但是当有100000多个用户时,只需要几秒钟就可以加载它们,只需选择一个.

从db中加载单个随机用户的最简单方法是什么?

activerecord ruby-on-rails ruby-on-rails-5

6
推荐指数
4
解决办法
2486
查看次数