草庐IT

mysql - 是否可以只用一个 SELECT 随机排序 "first n"条记录?

有没有办法不用两次选择就可以做到这一点?原始查询SELECTname,view_countFROM`ex`.`item`wherestatus='available'orderbyview_countasclimit40;随机显示SELECT*FROM(SELECTname,view_countFROM`ex`.`item`wherestatus='available'orderbyview_countasclimit40)AStempORDERBYRAND();这可以在没有第二次选择的情况下完成吗? 最佳答案 试试这个:SQLfi

php - mysql按表b分组,内联表a为随机

这是我的2个表,用于内部连接事件的id。我想做这件事:在表b中,有10张专辑,我要随机取出4张专辑。然后每张专辑选择一条记录,该记录在专辑中的位置是随机的。这样我会得到4条记录返回(这4条没有重复id的记录),然后将这4条记录用于内部连接查询,以获得title来自tablea。这里只是用于测试的小记录。事实上,我在表a中有300,000条记录,在表b中有2,000,000条记录。表一+-----+-------+|id|title|+-----+-------+|1|a1|+-----+-------+|2|a2|+-----+-------+|3|a3|+-----+-------+

php - MYSQL RANDOM SELECT UNIQUE ROWS - 排除先前选择的行

我有一个包含16K条目的表我要随机抽取44个条目但我不想重复相同的条目不止一次(永远)所以我有一个每用户列表,将已使用的“ID”作为逗号分隔的字符串保存在表中。我使用该列表来SELECT...NOTIN(used_IDs)问题是这个列表变得太大,我相信由于大小而sql调用失败知道如何更有效地做到这一点吗?Questionstable:+------+-------+-------+|id|Qtext|Tags|+------+-------+-------+Testtable:+------+-------+|id|QIDs|+------+-------+Resultstable:+

mysql 为 rand 设置种子

是否可以在MySQL中为RAND()函数设置种子?我需要这个进行单元测试,以确保我知道预期的结果是什么。在PHP中,可以简单地做:在我的模型中,我目前有一个查询:SELECT*FROMtableORDERBYRAND()LIMIT1;现在在我的单元测试中,我想确保我知道RAND()的种子是什么,以便我知道查询返回的记录。也许通过在我的模型中的查询之前执行额外的查询?我知道我可以向RAND()添加一个参数,但这不是我想要的;我不想修改查询。附言。我正在使用Linux;可能有助于为/dev/random设置种子吗? 最佳答案 可以引用这

mysql - 将准备好的语句的结果存储为 mysql 中的表?

是否可以将准备好的表的结果存储在mysql中?我的用例是-:我正在根据源表的某些条件创建两个变量,然后根据此条件获取随机化的行。由于我有10个这样的表,我是否应该第一个加入它们,然后根据“整体”通过/过滤标准进行随机化(另请参阅下面的@total,这是我的主要标准,PER表)set@total=(selectcount(*)fromtab_1wherepredict_var="4"orpredict_var="2");set@sample=(select@total*(70/30));PREPARESTMTFROM"SELECT*FROMtab_1WHEREpredict_var='4

mysql - sqlite - 我如何随机分组订购?

假设我有一个表,其中一列是:LetterABBCAAC我正在尝试进行查询,以按顺序但按随机顺序返回这些字母>,就像首先是所有C,然后是所有A,等等。示例:LetterCCAAABB所以这些字母会一起出现,但每次我查询时都会以随机顺序出现。我怎样才能做到这一点? 最佳答案 这是一种方法:selectt.*fromtjoin(selectletter,rand()asrndfromtgroupbyletter)ttont.letter=tt.letterorderbytt.rnd;一种更简单的方法是对字母本身进行计算。这是一种方法:se

mysql - 在MySQL中使用REGEXP为搜索引擎随机匹配关键词

我正在尝试使用正则表达式将用户输入的搜索字符串与我的MySQL数据库中条目的标题相匹配。例如,我的数据库中的表中有以下行:idtitle1IM2-Article3FunkyBusiness2IM2-Article4There'snoBusinessThat'snotShowBusiness3IM2-There'snoBusinessThat'snotShowBusiness4CO4-Life'sabusiness当用户搜索“IMArticleBusiness”时,将执行以下查询(使用str_replace将空格替换为“(.*)”):SELECT*FROMmytableWHEREtitl

mysql自动随机默认整型值

我知道auto_increment会在您插入表中的每个新行时自动为主键分配一个值。是否有某种默认值可以分配一个整数主键,从而在每次新插入时产生一个随机数?像DEFAULT_VALUE=FLOOR(RAND()*(1000000-1))这样的东西?我知道这可能是一个非常平庸和愚蠢的问题,但我会提前感谢任何帮助!谢谢! 最佳答案 为什么不直接使用UUID?或者,为什么不让id做它的事情,AUTO_INCREMENT样式,并创建一个随机生成并索引UNIQUE的辅助列,这样它用作次级主要? 关于

php - ORDER BY RAND() 用于多列(垂直排列每列的内容)

我正在寻找一个mysql解决方案,让多个列从该列输出一个随机字段。我现在的查询只随机选择整行,但不会随机选择分隔的列。$sql="SELECTcol1,col2,col3,col4FROMtableORDERBYRAND()limit4";我试过子查询,但我不熟悉,所以如果有人能帮忙...... 最佳答案 试试这个:SELECTCASErndWHEN1THENcol1WHEN2THENcol2WHEN3THENcol3WHEN4THENcol4ENDAScolFROM(SELECTcol1,col2,col3,col4,FLOOR(

python /Django : Getting random articles from huge table

我的数据库(MySQL)中有一个巨大的表,其中包含数百万条数据。我需要填充10个随机数据并将其显示在UI上。考虑到性能,什么是好的方法?我正在考虑创建MySQLView来填充10个随机行并从UI读取它。或者有没有其他有效的方法来处理这种情况? 最佳答案 这可能代价高昂且速度慢,但是:MyModel.objects.order_by('?')[:10]主要优点是清晰,而且它不是原始SQL。 关于python/Django:Gettingrandomarticlesfromhugetable