84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我进行了搜索,但找不到有效的解决方案。这里需要一点帮助。
假设我有一个包含超过 100 条记录的表,首先,我需要按一定顺序找出前 20 条记录,然后我需要从这 20 条记录中随机挑选 5 条记录。 这是我的查询,
SELECT a FROM tableA WHERE b IN ( SELECT b FROM tableA WHERE c="x" ORDER BY d DESC LIMIT 20 ) ORDER BY RAND() LIMIT 5;
让我知道如何纠正它。谢谢。
内部查询选择 20 个按 ID 排序的用户,外部查询使用 RAND() 函数随机排序,限制为 5 :)
SELECT * FROM ( SELECT * FROM A ORDER BY id desc LIMIT 20 ) T1 ORDER BY rand() limit 5
内部查询选择 20 个按 ID 排序的用户,外部查询使用 RAND() 函数随机排序,限制为 5 :)