Mysql 按顺序如何优先?

Mysql 按顺序如何优先?,mysql,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`, jo

因此,我有一个表,其中添加了一些数据:

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列出的,并且优先。有没有办法这样做呢?如果joined不等于
0

,那么joined将被视为
id
,您可以按照以下顺序使用表达式:

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

如果您正在寻找配对,请按照给定的方式进行自连接

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

希望这有助于..

RTM,您有语法错误。除非你指手画脚,否则.order按你指定的顺序工作:
orderbya,b,c
<代码>a首先对记录进行排序。然后,对于每个具有相同值的
a
记录,对
b
值进行排序,对于具有相同
b
值的所有记录,对
c
记录进行排序。您想要的可能是通过加入的顺序=0,id,joined来完成的。perfect!删除,id,我会给你正确的答案我会保留id,因为你会看到同一个人按照加入的顺序加入。