我有一个SELECT查询,我期望从中得到数百万个结果。我需要在MySQL中随机化这些结果。在查询明显占用太多RAM之后,在我的脚本中执行此操作。有没有人可以修改这个查询,使结果都是随机的,而不使用order by rand()?我看过一些示例并尝试使用它们,但它们对我不起作用,因为它们似乎都依赖于返回整个表,而不是使用WHERE子句。下面是我的问题:
SELECT * FROM pool
WHERE gender = 'f'
AND (`location` = 'united states' OR `location` = 'us' OR `lo
我有一个通过php和html注册请求的表单。在插入新行之前,我找到了一个代码,用于使6个字符的随机字符串用于跟踪代码,并且不应该是duplicate.this代码在mySql中的users表中的触发器中。
如何在MySQL触发器中使用此代码生成6个以上字符的随机字母数字?
,在您看来,这段代码是有用的,还是比php??中的随机字符串代码更好?
你有什么建议?
BEGIN
declare ready int default 0;
declare rnd_str text;
while not ready DO set rnd_str := LOWER(lpad(conv(floor
我有一个简单的MySQL查询如下:
SELECT * ,
( MATCH (table.get) AGAINST('playstation ' IN BOOLEAN MODE) )
+ ( table.get LIKE '%playstation%') AS _score
FROM table
JOIN users on table.id_user = users.id
WHERE table.expire_datetime > 1375997618
HAVING _score > 0
ORDER BY RAND(table.id)
有没有一种方法可以使用LOAD DATA LOCAL INFILE &创建一个随机生成的id而不是使用自动增量函数?
我尝试过使用MySQL的UUID(),但它只为每一行生成相同的id
$sql = "LOAD DATA LOCAL INFILE \"" . $data['full_path'] . "\" REPLACE INTO TABLE as " . 'FIELDS TERMINATED BY "\\n"' . 'LINES TERMINATED BY "\\r
我想从MongoDB数据库中检索一组随机文档。到目前为止,在大量搜索之后,我只看到了检索一个随机文档或一组文档的方法,从一个随机跳过的位置开始,但是文档仍然是顺序的。
我试过猫鼬-简单-随机,不幸的是,它没有检索一个“真正的”随机集。它所做的是跳到一个随机位置,然后从该位置检索n个文档。
相反,我想检索一个随机集,就像MySQL使用one查询(或最小数量的查询)所做的那样,而且每次我都需要这个列表是随机的。我需要这是有效的--与MySQL类似的查询相当。我想在MongoDB中复制以下内容:
SELECT * FROM products ORDER BY rand() LIMIT 50;
这个是
据我所知,您是如何在MySQL中随机选择有序行的:
SELECT * FROM test ORDER BY RAND() ASC;
现在,这将返回一个随机排序的行集。
但如果我想两次抓取相同的随机集呢?我不能再使用RAND()了,因为每次都会发生变化。
我尝试输入RAND()生成的实际十进制数,但这似乎也不起作用。
有什么帮助吗?
我使用的是MySQL版本5.5.8。
假设我有这样的表、条目和结构:
entry_id int PK
member_id FK
每个成员可以有多个条目。我想随机获得10个条目,但我需要以一种允许被选中的几率随成员条目数量增加的方式来获取它们。我知道我可以这样做:
SELECT member_id
FROM entries
GROUP BY member_id
ORDER BY RAND()
LIMIT 10
但我不确定这是否能做到我想要的。MySQL是否会对记录进行分组,然后选择10?如果是这样的话,每个成员都有同样的机会被选中,这不是我想要的。我已经做了一些测试和搜索,但没有得到一个明确的
我需要在MySQL中选择整数的范围。就像这样
SELECT RANGE(10,20) AS range;
返回
10, 11, 12, 13, 14, ..., 20
为什么?
我想选择随机电话号码,从范围内,尚未登记。这就是主意。
SELECT RANGE(100000,999999) AS range FROM phone WHERE phoneNum <> range LIMIT FLOOR(100000 + RAND()*(899999);
对于从50k行的数据库中选择100行随机行的查询,我遇到了问题。
首先,我只使用函数RAND(),但这变得太慢了。
现在我使用以下查询:
$query = mysql_query("SELECT t1.* FROM users AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM users WHERE picture != '' && age <= 50 && age >= 18 && username != '')) AS id) AS
我想在PostgreSQL中生成随机数,就像我在MySQL中所做的那样,如下所示。我想在Postgres函数中这样做。
MySQL:
DROP PROCEDURE IF EXISTS Generate_random;
DELIMITER $$
CREATE PROCEDURE Generate_random()
BEGIN
Drop table if exists aa_dev.`Agents`;
CREATE TABLE aa_dev.`Agents`(AgentID int PRIMARY KEY);
SET @first = 1;
SET @last =
好的,我了解了如何在Scala中实现随机数生成器,以及如何为生成的随机数设置上界,但我对如何更改下界感到困惑。例如:
var computerGuess= scala.util.Random
var higher=100
var computerGuessInt=computerGuess.nextInt(higher)
会让计算机产生一个从0到100的随机数。
但是我想把下限改为,比如说29,这样计算机就可以从29选择一个随机数到100。我该怎么做?
我想知道是否有人知道如何在MS上执行可重复的随机排序。
通过在随机函数上设置种子值,我在其他DB平台上实现了相同的目标:
MySQL/MariaDB: ORDER BY RAND(?);
Oracle: EXEC DBMS_RANDOM.SEED(?); ORDER BY DBMS_RANDOM.VALUE;
Postgres: SELECT SETSEED(?); ORDER BY RANDOM();
但是,我无法在Server上找到相应的内容。通过一些研究,我尝试了语法TABLESAMPLE(100 %)可重复性(Y)。但是TABLESAMPLE似乎没有按任何随机顺序返回行。
SQLFid
我有一个表,我想从中挑选一行并将其显示给用户。每周我都想让网站自动随机挑选另一行。因此,基本上我希望每周都能得到新的结果,而不是每次用户访问页面时都得到新的结果。我现在正在使用这段代码:
$res = mysql_query("SELECT COUNT(*) FROM fruit");
$row = mysql_fetch_array($res);
$offset = rand(0, $row[0]-1);
/* the first three lines to pick a row randomly from the table */
$res = mysql_query(&
我读到过在大型数据库上使用ORDER BY RAND()运行SQL查询不是一个好主意。
所以这是我破解代码的办法。代码需要从数据库中选择10个随机ids,然后执行第二次select来获取随机行。
$sql = "SELECT id FROM table WHERE image != ''
ORDER BY id DESC LIMIT 50;";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
foreach($row as $key =&