Đây có phải chỉ là một tắt ORDER BY
hoặc thứ gì đó mà bạn sẽ muốn thực hiện thường xuyên và có nhiều giá trị hơn được chỉ định ở đây không?
Trình tự mà bạn đã đưa ra là tùy ý, do đó một định cần phải được đưa ra để đạt được những gì bạn muốn
SELECT
ID,
Code,
CASE Code
WHEN 'Health' THEN 1
WHEN 'Phone' THEN 2
WHEN 'Freeze' THEN 3
WHEN 'Hot' THEN 4
END As OrderBy
FROM Table
ORDER BY
OrderBy
Hoặc
SELECT
ID,
Code
FROM Table
ORDER BY
CASE Code
WHEN 'Health' THEN 1
WHEN 'Phone' THEN 2
WHEN 'Freeze' THEN 3
WHEN 'Hot' THEN 4
END
(Tôi không quen thuộc với MySQL nhưng ở trên sẽ hoạt động trong SQL Server. Cú pháp cho MySQL sẽ không quá khác nhau)
Nếu bạn có khả năng muốn thực hiện việc này thường xuyên , sau đó tạo cột OrderBy trên bảng hoặc tạo bảng OrderBy có liên kết FK tới bảng này và chỉ định trường số OrderBy trong đó.
Nguồn
2009-08-07 10:37:57
Tại sao điện thoại ở đó hai lần? – pjp