ORDER BY如何优先?

时间:2015-10-30 15:10:31

标签: mysql

所以我有一个表格,我在其中添加了一些数据:

id - name - year - joined
1    Bob    1980   0
2    John   1970   0
3    Jack   1975   2
4    Kate   1990   1
加入的

列是id数字

我想像这样列出

Bob
 Kate
John
 Jack

所以凯特加入鲍勃,杰克加入约翰

我的选择查询:

$sql = "SELECT * FROM my_table ORDER BY `id DESC`, joined DESC"; 

但是它按id列出,并且优先顺序。有没有办法这样做,所以在连接不等于id

的情况下,连接被视为0

2 个答案:

答案 0 :(得分:1)

您可以按顺序使用表达式,为您提供正确的顺序:

order by if(joined=0,id,joined), id

答案 1 :(得分:0)

如果您正在寻找配对,请按照指定进行自我加入

SELECT CONCAT(A.name,'-',B.name)
FROM table_name A
  INNER JOIN table_name B ON A.id = B.joined 

希望这会有所帮助..