我想从MongoDB数据库中检索一组随机文档。到目前为止,在大量搜索之后,我只看到了检索一个随机文档或一组文档的方法,从一个随机跳过的位置开始,但是文档仍然是顺序的。
我试过猫鼬-简单-随机,不幸的是,它没有检索一个“真正的”随机集。它所做的是跳到一个随机位置,然后从该位置检索n个文档。
相反,我想检索一个随机集,就像MySQL使用one查询(或最小数量的查询)所做的那样,而且每次我都需要这个列表是随机的。我需要这是有效的--与MySQL类似的查询相当。我想在MongoDB中复制以下内容:
SELECT * FROM products ORDER BY rand() LIMIT 50;
这个是
在SQL (MySQL)中是否有一种随机化限制数的方法?
我想要做的是在没有任何服务器端脚本的情况下,在插入子查询中获得一个查询中随机数量的结果。我希望能够作为假设示例运行的查询是:
SELECT id FROM users ORDER BY RAND() LIMIT RAND() * 1000
当然,这不起作用,但还有其他方法随机化极限数吗?有很多随机化有限的结果的例子,但是我在网上找不到任何关于设置随机限制的东西。
mysql查询示例:
select error_number, query, count(*) as cnt from mytable group by error_number;
即使这两个列(error_number和query)都不是聚合的一部分,这个查询也可以在mysql中工作。在这种情况下,它显示了"query“列的随机记录。
这在基巴纳似乎是不可能的。我必须根据error_number和查询进行分组。我只想按error_number分组,但仍然可以看到该组中随机的“查询”列。
在基巴纳有可能吗?如果是,怎么做?
我有一个事件数据库。每个事件都有一个等级(1-5)。我想按日期范围查询数据库中的事件,我想选择一组排名为1的随机事件,然后选择一组排名为2的随机事件,依此类推。
这个查询给了我一个随机选择的排名1的事件:
SELECT * FROM
(
SELECT * FROM `events`
WHERE `date` >1326578956
AND `date`<1326870399
AND `rank`=1
ORDER BY RAND()
)
e LIMIT 0,10
但可能有这样的情况,即没有排名为1或排名2的事件。
是否可以只使用MYSQL查询。我可以使用PHP迭代查询,
我在mysql数据库中遇到了一点问题。我有两个表,像user和post。
用户表
Post表
mysql查询
SELECT user_id,name FROM `post` where user_id IN(1,3,4); // 1,3,4 id of user from user table
上面的mysql查询工作fine.But现在我想得到每个用户的最多三条记录以上查询的randomly.Result是可以的
user_id name
1 one
3 two
1 three
1 four
1 five
我正在尝试使用mysql查询来检索随机行,但要按特定的顺序进行。
例如,我有一个包含10000个名字的表格,我想按字母顺序随机取10个名字。
如果我同时使用order by rand()和limit,我可以有ramodon行,但不能按顺序。我也看到不可能使用order by rand和antoher order by。
现在,我正在检索随机行,然后对数组进行排序,但我想在我的查询中这样做。有可能吗?我在哪里可以找到关于这方面的好信息?我在mysql.com上阅读,但没有找到解决方案。非常感谢(很抱歉我的英语很差)。
我有mysql查询:
SELECT * FROM bigtable WHERE column1='1' ORDER BY column2 DESC LIMIT 10
然后我将所有内容放入一个数组中,并使用php从这个包含10个项目的数组中随机选择一行。
有没有办法用一个mysql查询来代替mysql+php部件呢?
我目前使用php中的EZSQL类来查询MySQL数据库。我正在尝试从数据库中抓取随机记录,但我想知道是否可以通过php而不是sql查询本身来随机化结果。查询目前看起来如下所示:
$results = $db->get_results("SELECT * FROM table ORDER BY RAND()");
foreach($results AS $result)
{
//code here
}
取而代之的是,我可以从数据库中获取结果,然后通过php随机化它吗?如果是这样,我该怎么做呢?
请注意,我是一个初学者。
我有两个问题:
1)如何对查询结果随机排序?
查询示例:
$get_questions = mysql_query("SELECT * FROM item_bank_tb WHERE item_type=1 OR item_type=3 OR item_type=4");
2)从表中随机选择行的最佳方法。假设我想从一个表中随机抓取10行。
非常感谢,
我在MySQL上遇到了一个有趣的问题。当我试图用某个大整数乘以RAND()函数时,我得到了非常小的最大随机数。下面是我的MySQL查询,这应该是一个非常快速的随机查询,但是它返回IDs 36000,即使有4600000+ ID。
SET @maxID=(SELECT MAX(id) FROM property); #it's about 4600000
SELECT * FROM property
WHERE
downloaded_at IS NULL
AND id >= FLOOR(1 + RAND() * @maxID) #this returns max +/-3600
我有一个问题,重新评分的查询,这将更新从用户表的另一个随机值的收入表。当执行查询时,它什么也不做
$update = mysql_query("UPDATE earnings SET userid = (SELECT ID FROM users WHERE installid is NULL ORDER BY rand()) WHERE userid='0'");
在第二个查询中
SELECT ID FROM users WHERE installid is NULL ORDER BY rand()
它会给我一个随机的userid,其中installid为nul
我有一个查询,在同一数据库中随机选择3个SQL表中的6个图像,一旦有人点击该图像,我想将他们发送到不同的页面,根据该图像是从什么表中选择的。为了通过查询来做到这一点,我想找出随机图像被选择的表名。
我的SQL查询是
$sql="SELECT *
FROM salehotel
UNION ALL
SELECT *
FROM saleland
UNION ALL
SELECT *
FROM salehouse
ORDER BY RAND()
LIMIT 6
";
$result=mysql_query($sql)or die(mysql_error());
?>
我正在尝试按MYSQL查询正确排序。我需要rand()包含长度最短的查询、长度第二短的查询和长度第三短的查询。有没有办法只用MYSQL就能做到这一点?
SELECT input FROM tableName WHERE input LIKE '%one%' ORDER BY length(input) ASC, rand() limit 1;
one
one one
one one one
one one one one
在本例中,查询只包含长度最小的rand()。所以基本上,我需要rand()来包含:
one
one one
one one one
所以它会随机选择其中的一
我正在尝试找出一种方法来选择表中的所有记录,并以随机顺序显示它们。
我听说过很多关于RAND()的事情,比如下面的查询
$sql = mysql_query("SELECT * FROM table ORDER BY RAND()");
但据我所知,这只是随机选择了20条记录。
如何选择所有记录,但只按随机顺序显示它们?
谢谢