我正在创建一个网站,其中包含具有用户创建的标签的特定帖子。我的数据库如下所示:
Qid Tag 3 Happy 3 Sad 3 Funny 6 Happy 6 Delicious 8 Angry
我想要做的是找到相关的标签。
我的计划是输入一个标记作为关键字(比如说Happy
),然后出现Sad
,Funny
和Delicious
。
但我只想说最多5或6。
在真实数据库中,有更多这些条目,但我不知道如何在前5或6之间进行选择。
我的问题是:
答案 0 :(得分:1)
对你的问题给出一般答案......
您需要找到标签的QID,然后选择具有该QID的所有标签 - 当然,这取决于您如何在数据库中存储后期元数据
如果通过“最佳搜索结果”表示最常用的标签,那么您需要在表格中添加另一列 - 例如频率。然后,每次使用标签时增加1。但是,要根据这个假设找到前五名,你会做类似的事情:
SELECT * FROM tag_table
WHERE qid = 3 /* Where 3 is just an example */
ORDER BY frequency DESC /* so the most used are at the top of the results */
LIMIT 5; /* select only the first five results */
说实话,我不确定什么是更好的方法。没有任何进一步的信息,很难知道。