如何在SQLite中按顺序排序?

问题描述 投票:0回答:1

我不确定是否正确的方式来表达这个问题。我有一个包含数千个图像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。

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

mysql sql sqlite
1个回答
4
投票
SELECT imageId
FROM tagsTable
WHERE tags IN ('red','yellow')
GROUP BY imageId
ORDER BY COUNT(*) DESC

将首先返回最匹配的imageID。

© www.soinside.com 2019 - 2024. All rights reserved.