Điều này sẽ cung cấp cho bạn quyền kiểm soát nhiều nhất đối với nó:
order by
case left(positions.colleague_position_id, 1)
when 'A' then 1
when 'F' then 2
when 'T' then 3
when 'S' then 4
when 'C' then 5
else 6
end, positions.colleague_position_id
Điều này là do bạn có thể gửi tất cả các giá trị không khớp đến vị trí bạn muốn (trong trường hợp này là ở cuối). Trường field()
hàm sẽ trả về 0
cho các giá trị không khớp và sẽ đặt chúng ở đầu kết quả được đặt ngay cả trước những giá trị bắt đầu bằng A
.
Ngoài ra, bạn cũng có thể đặt hàng theo positions.colleague_position_id
như tôi đã làm trong ví dụ, để cho nhiều positions.colleague_position_id
bắt đầu bằng cùng một chữ cái, chúng sẽ vẫn theo thứ tự.