作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一张“产品”表。我还有一张该产品的用户标签关键字表。我想根据每个产品的数量为每个产品带回热门关键字。
关键字表基本上由关键字、主键和将其链接到产品表的外键组成。
我想我必须加入关键字表(如下所示),但我不知道如何按最受欢迎的顺序排序。
这是我已有的 SQL - 它目前只返回任何关键字而不是最上面的关键字。
SELECT product_name,keyword_keyword
FROM products
LEFT JOIN keywords ON keyword_pid = product_id
GROUP BY product_id
最佳答案
我知道这可以以不同的方式完成并且可能更有效,但我的想法是这样分解的:
select a.product_name, b.keyword_keyword, count(*) as keyword_count
into #temp1
from products a
join keywords b on a.product_id = b.keyword_pid
group by a.product_name, b.keyword_keyword
select x.product_name, x.keyword_keyword
from #temp1 x
where x.keyword_count = (select MAX(keyword_count) from #temp1
where product_name = x.product_name)
关于MySQL:加入关键字表但只带回最流行的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3938128/
我是一名优秀的程序员,十分优秀!