作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有如下三个表:
产品
id | name
1 | name1
2 | name2
3 | name3
属性
id | name
1 | attr1
2 | attr2
3 | attr3
4 | attr4
5 | attr5
6 | attr6
7 | attr7
attr_rel 建立产品和属性之间的关系
attr_id | prod_id
1 | 1
1 | 2
2 | 1
2 | 2
3 | 3
4 | 2
4 | 3
5 | 1
5 | 2
5 | 3
我想要的是执行一个查询,返回所有产品,这些产品按照它们与给定产品共有的属性数量排序。
示例:对于产品 3 查询应该返回类似的内容
id | name | num_attr_in_common
2 | product2 | 2
1 | product1 | 1
(因为产品 3 与产品 2 共享属性 4 和 5 但仅与产品 1 共享属性 5)
有人可以帮我吗?
最佳答案
select a1.prod_id,p.name,count(*) as num_attr_in_common
from attr_rel as a1
inner join (
select attr_id
from attr_rel
where prod_id = 3) as a2
on a1.attr_id = a2.attr_id and a1.prod_id <> 3
inner join products as p on p.id = a1.prod_id
group by a1.prod_id
order by num_attr_in_common desc
关于mysql - SQL获取与另一个产品具有更多共同属性的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7302441/
所以,我有一个类似于 this one 的用例,但我觉得有一些额外的细节值得提出一个新问题。 ( related questions ,供引用) 我正在编写一个实现 a cycle 的数据结构.基本设
我正在使用 Django 编写一个社交网络应用程序,需要实现类似于 Facebook“Mutual Friends”概念的功能。我有一个像这样的简单模型: class Friend(models.Mo
我有一个 iOS 应用程序,用户可以在其中使用 Facebook 登录并授予 user_friends 权限。从 Graph API 2.0 开始,Facebook 声称你无法获取两个人之间所有的共同
我想知道将来对我来说最简单的方法是什么,可以使查询既有效又不那么复杂。 我应该像这样保存双向关系吗 from_id=1, to_id=2from_id=2, to_id=1 或者只创建一个唯一的行 f
我是一名优秀的程序员,十分优秀!