来自大查询结果的随机行 [英] Random row from big query result
本文介绍了来自大查询结果的随机行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要从索引列上使用 SQL select 检索的查询结果中获取 1-2 行,而无需获取整个记录集.
I need to get 1-2 rows from query result retrived with SQL select on indexed columns without getting the whole record set.
例如,我将使用查询检索 10 000 条记录
For example I will retrieve 10 000 records using query
SELECT * FROM table WHERE field 1>1 AND field1 < 10
但我只需要从这个查询中随机抽取 1 行就我的数据库的高负载而言.
but I need only 1 random row from this query regarding to highload of my database.
我可以使用
SELECT * FROM table WHERE field 1>1 AND field1 < 10 LIMIT 100, 1
但我不知道使用正确偏移范围的记录数
But I don't know records numebr to use correct offset range
我怎样才能实现这个目标?
How can I achieve this goal?
推荐答案
首先限制你选择的记录怎么样?
How about restricting the records you select in the first place?
SELECT * FROM table WHERE field1 IN (CONVERT(RAND()*10,SIGNED),CONVERT(RAND()*10,SIGNED)) LIMIT 2
这篇关于来自大查询结果的随机行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文