我想显示十条记录。
例如
select * FROM users WHERE id (5,8,9,6,3)
UNION
SELECT * FROM users ORDER BY RAND() LIMIT 10
现在,我希望从用户表中随机选择另一行,但ID为in,另一行随机为5。
是否可以在单个查询中执行。我尝试使用全部工会,但我没有得到10个不同的行。
谢谢
答案 0 :(得分:1)
这对我来说很好。
SELECT * FROM users ORDER BY (user_id IN(5,8,9,6,3)) DESC, RAND() LIMIT 0,10
如果仅输入条件将不起作用,请放置一个子查询。这就是查询的样子。
SELECT * FROM users ORDER BY (user_id = (select user_id FROM users WHERE
the_condition)) DESC, RAND() LIMIT 0,10