Mysql ORDER BY具体值

时间:2014-10-28 01:34:53

标签: mysql

假设我有以下查询:

SELECT id, name FROM table ORDER BY name
  • 4,Ashley
  • 1,Anna
  • 2,大卫
  • 3,Zach

如何将特定名称扔到订单的前面,然后执行其余的订购,例如:

SELECT id, name FROM table ORDER BY name='david', name
  • 1,David
  • 4,Ashley
  • 1,Anna
  • 3,Zach

1 个答案:

答案 0 :(得分:8)

你几乎就在那里。您只需要desc

SELECT id, name
FROM table
ORDER BY (name = 'david') DESC, name;

MySQL将布尔值视为整数,其中true为“1”,false为“0”。因此,当它为真时,该值为“1”。首先,你需要按降序排序。