我想将行从一个MySQL表复制到另一个MySQL表,同时随机化两个字段的顺序,即我想获取字段为id的行,a,b来自table1并将它们插入table2,但交换a和b在随机行上。这是我尝试过的:INSERTINTOtable2(id,a,b)SELECTid,IF(@r=RAND()我原以为这会为每一行生成一个随机数,但实际上它只是为每个查询生成一个随机数,所以它要么是a,b用于所有行,要么是b,a用于所有行。我需要更改什么?P.S:我使用变量是因为调用rand()在两个IF中都会生成两个单独的数字,我可以获得相同的字段两次。有没有办法在没有变量的情况下做到这一点?
我有一个行数据集,每行的“赔率”数都在1到100之间。我希望以最有效的方式进行处理。赔率加起来不一定等于100。我有一些想法。一个)选择整个数据集,然后将所有概率相加并生成一个介于1和该数字之间的随机数。然后循环遍历数据集,从数字中扣除几率,直到它为0。我希望尽量减少对数据库的影响,所以我考虑是否可以只选择我需要的行。二)SELECT*FROMtableWHERE(100*RAND())我考虑过LIMIT0,1但是如果项目具有相同的概率,则只会返回其中一个或者获取整个数据集并从那里随机选择一个......但是赔率会受到影响,因为它变成了有赔率的随机数,然后是没有赔率的随机数,因此赔率变
我在MySql数据库中创建了一个示例数据集,我需要用它来测试生成一些报告。对于一个特定的表,我有10万条记录,这些记录都是在几个小时内创建的。由于示例数据的生成方式,我无法将10万条记录的日期时间列设置为所需的值。我如何使用SQL语句来随机化100k记录上的日期时间列,而不是将它们分布在一个月内的几个小时内?例如,我想将记录平均分布在2012年10月1日到2012年10月31日之间。 最佳答案 我们可以使用RAND()功能。正在关注MySQLReferenceManual,得到一个随机整数R在i范围内,使用表达式FLOOR(i+RA
这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。基本上我创建了一个SQL查询以在数据库$i中插入大约5000个随机数(目前10个只是为了弄清楚)。我以前尝试只在MYSQL中做这件事,但失败了,我不想再浪费时间了。它随机化一个10位数字并使用数组($codes)交叉检查该数字,该数组包含来自数据库中不同表的超过100,000个值。它还将新的随机数添加到新数组($newNumbers),这样它就不会生成相同
我想使用CakePHP从我的数据库中随机获取数据样本。这是我的功能:functioncategories_list(){$this->paginate['limit']=6;$this->paginate['order']='';$this->paginate['conditions']='';//SortRandomlyStartif($this->Session->check('Category.randomSeed')){$seed=$this->Session->read('Category.randomSeed');}else{$seed=mt_rand();$this->S
我试图在MySQL中随机获取一行。这是我的方法:SELECT*FROMusersWHEREid=(SELECTfloor((max(id)-min(id)+1)*rand())+min(id)FROMusers);当id中存在间隙时,这可能会返回一个空集。我对此很好。然而,我没有间隙,而且我仍然经常空集。更令人不安:我偶尔会得到两个或更多结果。这种奇怪行为的原因是什么?怎么样,我做对了吗?注意:table很大(10^6...10^7);我不能使用任何基于随机排序甚至基于count()的明显且已知的解决方案。我受困于MySQL,我不在乎它是如何在客户端ruby/PHP/任何东西上完成
我有一个相当大的数据集和一个需要两个连接的查询,因此查询的效率对我来说非常重要。我需要从数据库中检索满足基于连接结果的条件的3个随机行。Mostobvioussolution被指出效率低下here,因为[thesesolutions]needasequentialscanofallthetable(becausetherandomvalueassociatedwitheachrowneedstobecalculated-sothatthesmallestonecanbedetermined),whichcanbequiteslowforevenmediumsizedtables.但是,
我被要求获取与用户在他的元素中拥有的东西相关的东西就数据库创建而言,此项目表存储类别名称,我想获取类别名称并将其保存到数组中然后做一个for循环并从中得到一个随机值然后从mysql数据库中随机获取一行,这样任何人都知道如何做到这一点换句话说,我想知道如何从数组中获取随机值,并从mysql中获取随机行提前致谢。 最佳答案 使用$rand_keys=array_rand($input,1);参见示例http://php.net/manual/en/function.array-rand.php用于php和mysqlSELECT*FROM
我正在开发一个在线考试应用程序,其中有一个问题主表,其中包含一个包含问题类型数据的字段(名称:qtype)。问题类型可以是以下三种类型之一:单例多个描述应用程序使用以下查询从此主表生成随机试卷:select*frommst_questionwheretest_id=1ORDERBYRAND()LIMIT25这会为我的在线考试申请生成包含25个问题的随机问卷。到目前为止一切正常...现在,我需要在我的应用程序中实现一个功能,其中25个随机生成的问题(或任何数量-这将取决于测试ID)将始终具有主问题中可用的不同类型问题的固定组合每个随机生成的问卷集的表(mst_question)。比如说,
我正在尝试通过使用主键_id和以下查询从表(用户)中检索随机行。SELECT*FROMuserWHERE_idIN(SELECTFloor(1+(Rand()*(Count(_id)-1)))FROMuser);没有从表中删除任何行,但我(不一致地)返回了多行...我觉得这很神奇,因为子查询的任何结果都应该返回一个整数,这对主键来说......应该总是只有1条记录!我想使用一个查询,我可能会将其设为准备好的语句,并且我没有使用LIMIT子句,因为我无法使用@variables来选择随机行。我的MySQL欢迎声明告诉我我的版本如下:服务器版本:5.5.29-0ubuntu0.12.04.