1随机读取连续多条记录。经过实践,可以随机读取多条连续的数据记录,里头取值的一般都是主键ID来进行最大值、最小值的读取:
1
SELECT
FROM
example_table
AS
t1
JOIN
(SELECT
ROUND(RAND()
((SELECT
MAX(id)
FROM
example_table)-(SELECT
MIN(id)
FROM
example_table))+(SELECT
MIN(id)
FROM
example_table))
AS
id)
AS
t2
WHERE
t1id
>=
t2id
ORDER
BY
t1id
LIMIT
5;
2随机多条数据。以下两种都是随机读取数据,查询数据速度、随机范围都基本相差不大
1
SELECT
FROM
example_table
WHERE
id
>=
((SELECT
MAX(id)
FROM
example_table)-(SELECT
MIN(id)
FROM
example_table))
RAND()
+
(SELECT
MIN(id)
FROM
example_table)
LIMIT
5;
1
SELECT
FROM
example_table
WHERE
id>=(SELECT
floor(RAND()
((SELECT
MAX(id)
FROM
example_table)-(SELECT
MIN(id)
FROM
example_table))
+
(SELECT
MIN(id)
FROM
example_table)))
ORDER
BY
id
LIMIT
5;
这个问题还挺有意思的。首先需要定义一下“随机”,如果这个随机是真随机,即保证所有的组合能够被平均的选到,Excel现成的功能应该做不到,用VBA就成了个纯数学问题,得请邀请数学家解答。如果这个“随机”表示“我想生成一堆看起来不一样的组合”,可以试试这种方法:上图是让6个数组合形成100。如果希望得到任意长度的组合,把这个扩展到100个数,每次剔掉0,应该就可以解决。excel用函数等无法实现。excel 需要用宏来实现。较复杂
1。定义数组,即你那一列的数字。
2。(1)判断有没有数字是60,有直接选出来
(2)任取其中两个数字组合,判断是否是60
(3) 任取3个数字组合,判断是否是60
取4。
5。6。。。。直到100个。
此算法没有进行优化,以现在电脑的速度,你的数字在10000个以内都可以在10秒钟内出结果
。
以上就是关于tp5 怎么随机获取n条数据的方法全部的内容,包括:tp5 怎么随机获取n条数据的方法、怎样用EXCEL从几个固定数字里随机取数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)