我进行了搜索,但找不到有效的解决方案。这里需要一点帮助。
假设我有一个包含超过 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;
让我知道如何纠正它。谢谢。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
内部查询选择 20 个按 ID 排序的用户,外部查询使用 RAND() 函数随机排序,限制为 5 :)
SELECT * FROM ( SELECT * FROM A ORDER BY id desc LIMIT 20 ) T1 ORDER BY rand() limit 5