来自大查询结果的随机行 [英] Random row from big query result

查看:40
本文介绍了来自大查询结果的随机行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要从索引列上使用 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆