Mysql union all 之后仍然会重新排序问题
SELECT * FROM ( ( SELECT t1.*, t2.title, t2.content, t2.create_time, t2.create_uid, t2.`status`, t2.sort_field, t2.update_time FROM qd_notice_user t1 LEFT JOIN qd_notice t2 ON t2.id = t1.notice_id WHERE user_id =1 AND sort_field IS NOT NULL ORDER BY sort_field DESC ) UNION ALL ( SELECT t1.*, t2.title, t2.content, t2.create_time, t2.create_uid, t2.`status`, t2.sort_field, t2.update_time FROM qd_notice_user t1 LEFT JOIN qd_notice t2 ON t2.id = t1.notice_id WHERE user_id =1 AND sort_field IS NULL ORDER BY create_time DESC ) ) u_table
如图,目的是实现分段排序,使用union all 之后仍然会自动排序,需要加上Limit,解决办法是 在DESC后加上 limit 9999

浙公网安备 33010602011771号