56,687
社区成员
发帖
与我相关
我的任务
分享
SELECT * , 0 AS rnd
FROM `table`
WHERE pid =1345
UNION SELECT * , rand() AS rnd
FROM `table`
WHERE pid !=1345
ORDER BY rnd
LIMIT 9
(SELECT * FROM `table` WHERE pid =1345)
UNION ALL
(SELECT * FROM `table` WHERE pid <=8888 order by pid desc limit 1)
UNION ALL
(SELECT * FROM `table` WHERE pid <=7777 order by pid desc limit 1)
(SELECT * FROM `table` WHERE pid =1345)
UNION ALL
select *,rand() as rnd
from (
(SELECT * FROM `table` WHERE pid <=8888 order by pid desc limit 1)
UNION ALL
(SELECT * FROM `table` WHERE pid <=7777 order by pid desc limit 1)
UNION ALL
(SELECT * FROM `table` WHERE pid <=6666 order by pid desc limit 1)
UNION ALL
(SELECT * FROM `table` WHERE pid <=9999 order by pid desc limit 1)
UNION ALL
(SELECT * FROM `table` WHERE pid <=4444 order by pid desc limit 1)
) x
order by rnd
limit 2