Bạn có thể đặt hàng theo bất kỳ địa chỉ nào sau đây
order by owner <> 'Jan'
order by owner = 'Jan' desc
order by case when owner = 'Jan' then 0 else 1 end
order by if(owner = 'Jan',0,1)
owner = 'Jan'
sản xuất 1
cho True
và 0
cho False
, do đó tại sao desc
Ngoài ra, vì bạn không quan tâm đến thứ tự của các hàng còn lại ngoại trừ bốn hàng đầu tiên, nên bạn cũng có thể tiếp tục giữ phần còn lại của các hàng Tháng 1.
Hãy thử điều này:
SELECT
id, car_name, owner
FROM
((SELECT
0 x, t.*
FROM
your_table t
ORDER BY owner <> 'Jan' , id
LIMIT 4) UNION ALL (SELECT
*
FROM
(SELECT
1 x, t.*
FROM
your_table t
ORDER BY owner <> 'Jan' , id
LIMIT 4 , 1000) t
ORDER BY id)) t
ORDER BY x , id;
Chỉ hoạt động nếu Jan có 4 hàng trở lên.