MySQL通过标签选择相关对象

MySQL通过标签选择相关对象,第1张

概述在显示特定对象的页面上,我需要基于标签显示该对象的相关对象. ´具有最匹配标签的对象应位于顶部.基本上我基本上需要确定每个对象有多少标签与页面上的对象匹配,并显示最佳结果.我的数据库模式:Table Object ------------ id name Table Tagset ------------- object_id tag_i

在显示特定对象的页面上,我需要基于标签显示该对象的相关对象. ´具有最匹配标签的对象应位于顶部.基本上我基本上需要确定每个对象有多少标签与页面上的对象匹配,并显示最佳结果.

我的数据库模式:

table Object------------  ID  nametable Tagset-------------  object_ID  tag_IDtable Tag------------  ID  name
最佳答案这应该做您想要的:

SELECT object.name,COUNT(*) AS tag_countFROM Tagset T1JOIN Tagset T2ON T1.tag_ID = T2.tag_ID AND T1.object_ID != T2.object_IDJOIN objectON T2.object_ID = object.IDWHERE T1.object_ID = 1GROUP BY T2.object_IDORDER BY COUNT(*) DESC

结果:

'object2',2'object3',1

使用此测试数据:

CREATE table object (ID int NOT NulL,name nvarchar(100) NOT NulL);INSERT INTO object (ID,name) VALUES(1,'object1'),(2,'object2'),(3,'object3');CREATE table Tagset (object_ID int NOT NulL,tag_ID int NOT NulL);INSERT INTO Tagset (object_ID,tag_ID) VALUES(1,1),(1,2),3),4),5);
总结

以上是内存溢出为你收集整理的MySQL通过标签选择相关对象 全部内容,希望文章能够帮你解决MySQL通过标签选择相关对象 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1165538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存