按列对查询中的数据进行排序

时间:2019-05-10 14:37:13

标签: mysql

我有一个查询,旨在使所有用户都不受该用户的关注。

我想对它们进行排序以匹配他选择的模式-模式是0到3之间的json字符串(例如[0] / [0,2] / [1,3] ...),我想首先向用户展示最佳结果。

例如,如果用户的模式为[1,3],它将首先显示[x,1] / [1] / [1,x,x] ...,然后显示其余的用户。如果他先有[1,2],它将显示相同的内容,然后显示[2,x]等,然后显示其余部分。

请注意,如果用户尚未定义任何模式,则模式也可以为空。 (空字符串是未定义的,而不是[])。

我尝试按users.modes进行排序,但是无论用户的模式是什么,它都会对其进行排序。

SELECT *, users.uid, users.id 
FROM  users 
LEFT JOIN follows 
ON (follows.fid = users.uid AND follows.uid = 3443963) 
WHERE follows.id IS NULL AND users.uid != 3443963 
ORDER BY users.modes DESC 
LIMIT 9

0 个答案:

没有答案