如何做 mysql 子查询从预过滤列表中获取随机记录?
How to do mysql subquery to get random records from pre-filtered list?
我进行了搜索,但找不到有效的解决方案。这里需要一点帮助。
假设我有一个 table 有超过 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() 函数按 randome 排序,限制为 5 :)
SELECT * FROM
(
SELECT * FROM A ORDER BY id desc LIMIT 20
) T1
ORDER BY rand() limit 5
我进行了搜索,但找不到有效的解决方案。这里需要一点帮助。
假设我有一个 table 有超过 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() 函数按 randome 排序,限制为 5 :)
SELECT * FROM
(
SELECT * FROM A ORDER BY id desc LIMIT 20
) T1
ORDER BY rand() limit 5