如何在SQLite中按顺序排序?

时间:2018-03-02 14:14:53

标签: mysql sql sqlite

我不确定是否正确地说出这个问题。我有一个包含数千个图像ID的SQLite数据库。每张图片都标有一堆字。您的想法是在UI中选择一些单词,然后它会向您显示相应的图像。很简单。

我的图片标签表看起来像这样......

imageId    |    tags
____________________

   1            red
   1            green

   2            blue
   2            yellow

   3            red
   3            yellow

   etc...

目前,我正在使用一个简单的WHERE IN来获取所有图像ID ...

SELECT imageId FROM tagsTable WHERE tags IN ('red','green','blue')

...但现在我需要根据相关性对图像ID进行排名。因此,例如,如果我要求“红色”和“黄色”,我想在我的结果中首先获得图像ID 3,然后是id 1和2。

这似乎是一件很简单的事情,但我无法弄明白?

1 个答案:

答案 0 :(得分:4)

SELECT imageId
FROM tagsTable
WHERE tags IN ('red','yellow')
GROUP BY imageId
ORDER BY COUNT(*) DESC

将首先返回最匹配的imageID。