Chà, bạn có thể sử dụng IF
chức năng
trong MySQL (Lưu ý nhấn mạnh vào hàm function
vì cũng có IF
không liên quan tuyên bố
) ...:
ORDER BY IF(TYPE='Member', LNAME, GROUPNAME) ASC
Tuy nhiên, trong trường hợp này, có vẻ như lựa chọn tốt hơn (Từ quan điểm linh hoạt) sẽ là CASE
tuyên bố
:
ORDER BY
CASE `type`
WHEN 'Member' THEN LNAME
WHEN 'Group' THEN GROUPNAME
ELSE 1 END
ASC
Lưu ý rằng toàn bộ khối từ CASE
đến END
được coi là một "đơn vị" duy nhất. Kết quả của đó là những gì bạn đang cố gắng sắp xếp chống lại (Do đó, tại sao ASC
đến sau khối chứ không phải bên trong nó) ...