MySQL查询中没有顺序

时间:2014-12-07 23:43:24

标签: mysql

我有这个查询

Select nametwo
from cities
inner join usuarios
where cities.nametwo=usuarios.jug1
   or cities.nametwo=usuarios.jug2
   or cities.nametwo=usuarios.jug3

,数据是

  

jug1 = 2 jug2 = 1 jug3 = 4

然后,查询通过ASC对数据进行排序,我想按顺序对它进行排序。 有没有办法做到这一点?感谢

2 个答案:

答案 0 :(得分:1)

似乎你想要usuarios表订购,除非我误解。

Select nametwo
from cities
inner join usuarios
where cities.nametwo=usuarios.jug1
or cities.nametwo=usuarios.jug2
or cities.nametwo=usuarios.jug3
order by usuarios

答案 1 :(得分:0)

首先,如果您使用inner join,请使用on子句。除了MySQL之外,这在每个数据库中都是必需的,它看起来真的很尴尬。这是一个等效的查询:

Select c.nametwo
from cities c inner join
     usuarios u
     on c.nametwo in (u.jug1, u.jug2, u.jug3);

这个表述实际上直接暗示了答案。使用field()功能:

order by field(c.nametwo, u.jug1, u.jug2, u.jug3)