我已经使用下面的Java代码通过math.random函数生成随机数
public class randomnumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num = generatenumber(35);
while(num>0 & num < 35) {
System.out.println(num);
break;
}
我有一个包含300,000,000条记录的表,我尝试使用以下方法随机提取300,000条记录,但需要大约7分钟。
SELECT * FROM mytable WHERE `class`='faq' ORDER BY RAND() LIMIT 300000
我想提高随机抽取的速度,我应该怎么做?Mysql版本为5.6。
我需要从数据库表中获取满足某些给定条件的x行。我知道我们可以使用ORDER BY RAND ()从MySQL获得随机行。
SELECT * FROM 'vids' WHERE 'cat'=n ORDER BY RAND() LIMIT x
我正在寻找最优化的方式,做同样的{系统资源的低使用率是主要优先事项。下一个重要的优先级是查询的速度。另外,在表格设计中,我应该创建“cat”索引吗?
我有带员工出席的MySQL桌。雇员一天中的第一行作为时间对待,而雇员一天中的最后一行作为结束时间处理。我试图从考勤表中选择第一次和最后一次(最小时间和最大时间)。它应该给我两排。但是我的查询没有给我预期的结果。
表(出席情况)
我的疑问
select *, min(attdate) as intime, max(attdate) as outtime from attendance where empid=1
但是上面的查询没有给我预期的结果。我的输出应该在下面的图像中。请建议我的查询或给我提示,以实现给定的输出。
好的,我在MySQL中有这两个表。一个被称为“历史”,另一个被称为“注释”。
“历史”表中充满了可以重复的随机YouTube视频id。'Annotated‘表包含每个视频id的唯一副本以及该id的描述。看起来像这样:
History Annotated
video id video id description
id_1 id_1 description_1
id_1
我有一个表,其中列有USERID和时间戳。时间戳列是UNIX时间戳值。
我想从前一天时间戳落在那里的表中得到一个随机记录。我只想要昨天的记录,而不是前后的记录。
我怎么能用MySQL做这件事?
我尝试了下面的操作,看起来不像预期的那样工作。我做了什么傻事吗?
select * from mytable
where time < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 day))
and time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 2 day))
PS:我没有在上面的SQL中包含随机性的条
我正在尝试编写一个PHP脚本,该脚本将从MYSQL表中提取一个随机行。到目前为止,代码成功地捕获了一个随机行,但有时它什么也不会返回,我不明白为什么。
$result = $conn->query("SELECT fact
FROM numfacts
WHERE number = '".(string)$number."'
AND id >= (SELECT FLOOR( MAX(id)
MySQL (5.7.x):在WHERE条件中有三元参数吗?
我尝试根据select的值运行AND子句:
SELECT DISTINCT p.user_id, eml.template, eml.subject
FROM order_lines ol, email_template eml
JOIN user p ON ol.user_id = p.user_od
WHERE ol.status in (9.2, 10)
-- This line here
AND eml.name = (ol.st
我有个问题。我有一个来自数据库的值数组,当我试图将它传递给一个带逗号的字符串时,它在我的本地主机上工作得很好,但当我将它上传到我的在线服务器时,该字符串没有显示任何值。例如:select from table where in (,,)只显示逗号,在我的xampp服务器上它工作得很好。你知道这会是什么吗?代码如下:
<?php
$sql = "select id from users where gid = 1";
$result = mysql_query( $sql);
$cat_titles=array();
while( $row=mysql_fetch_ass
我已经成功地对我的测验进行了随机化,但我现在面临的问题是,即使答案已经回答,也会再次显示某些问题。我还有一个限制问题的问题,这个问题将从数据库中检索出来。我想让问题被随机显示在测验中只有一次,并且只从数据库中选择5个问题作为示例。
$singleSql = mysql_query("SELECT * FROM questions ORDER BY RAND() LIMIT 1");
while ($row = mysql_fetch_array($singleSql))
{
$id = $row['id'];
我在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
我有问题,这是工作,我需要更新我的数据库中的一个表,更改所有记录的一个字段,落入两个日期之间,并具有特定的用户名。
日期值正从表单传递到脚本。
我所拥有的:
mysql_query("
UPDATE data
SET status='Submitted'
WHERE (user_name = '$current_user->user_login')
AND labor_date >= '$_POST[start]'
AND labor_date <= '$_POST
我试图从location表中随机获取一个城市,但没有工作,我已经搜索了堆栈,并尝试了许多方法仍然没有得到它的工作。
<?php include "../database.php"?>
<?php
$sSQLQuery = mysql_query("SELECT city FROM location ORDER BY RAND() LIMIT 1;");
$aResult = mysql_query($sSQLQuery);
?>
<span class="h3"><?php echo $aRe
下面是用例:
我有一张表,里面有一堆唯一的代码,有的可用,有的没有。作为事务的一部分,我希望从表中选择可用的代码,然后在事务的后面更新该行。由于这可以同时发生在许多会话中,所以我希望在理想情况下选择一个随机记录,并在表上使用行级锁定,这样其他事务就不会被从表中选择行的查询阻塞。
我使用InnoDB作为存储引擎,我的查询如下所示:
select * from tbl_codes where available = 1 order by rand() limit 1 for update
但是,它不是只从表中锁定一行,而是锁定整个表。有人能给我一些提示,说明如何使它不锁定整个表,而只锁定行吗?
更