如何使用随机数按顺序限制:
q_id position qtn level
1 1 demo 1
2 1 demo12 1
3 1 demo21 1
4 2 demo22 1
5 2 demo11 1
6 2 demo31 1
7 3 demo41 1
8 3 demo51 1
9 4 demo61 1
我想要的是,
q_id position qtn level
3 1 demo21 1
4 2 demo22 1
8 3 demo51 1
9 4 demo61 1
我试过了:
SELECT q_id, position, qtn, level FROM tbl WHERE level = '1' ORDER BY position, RAND()
如何使用ORDER BY 使用 LIMIT?
答案 0 :(得分:1)
如果每个位置只需要1行,则可以使用group by。请注意,我们需要首先在内部查询中随机化顺序:
SELECT q_id, position, qtn, level
FROM (select * from Table1 order by rand()) a
WHERE level = '1'
group by position
答案 1 :(得分:0)
在DISTINCT
开头使用SELECT DISTINCT(YOUR QUERY)
命令,因为这将有助于该位置的单个条目。并且您可以组合使用RAND()
,以便随机选择位置。希望这对你有帮助。
答案 2 :(得分:0)
试试这个
SELECT q_id, position, qtn, level
FROM tbl WHERE level = '1'
ORDER BY position, RAND()
GROUP BY position Limit 4