我尝试根据链接标记的值输出数据库中的前x个项目
http://sqlfiddle.com/#!9/f23ad2
我目前正在使用的功能(注意:: userId是用户表中的id):
选择 item.id, 项目名称 从 项目 LEFT JOIN item_tag 上 item.id = item_tag.item LEFT JOIN 标签 上 item_tag.tag = tag.id LEFT JOIN user_tag 上 user_tag.user =:userId 和 item_tag.tag = user_tag.tag LEFT JOIN item_tag_rating 上 item_tag.tag = item_tag_rating.tag 和 TRUNCATE(user_tag.val,0)= item_tag_rating.user_tag 订购 tag_rating DESC 限制10
我们的想法是,user_tags
表格会告诉您用户tag_level
(1-5),或者他们目前是否使用默认值为3且基于此,您可以在item_tags
表中获得该级别的值。
例如,如果有3个标签,则最终会得到3个十进制数字(百分比等级转换为十进制数),然后将其合并以获得该项目的总体百分比评级。然后,我想使用该总百分比数来输出前x个项目。
关于我如何做到这一点的任何建议?