【问题标题】:How to get view for each article?如何获得每篇文章的浏览量?
【发布时间】:2015-10-11 12:04:23
【问题描述】:

我有 4 张桌子

articles
category
article_category
view

我需要找到每篇文章的查看次数 下面是我的sql查询

SELECT a.id,
(SELECT SUM(view) FROM view v ON v.aid=a.id) as view 
FROM articles a JOIN article_category ac ON a.id 
ON ac.aid JOIN category c ON c.id=ac.cid 
LEFT JOIN view cv ON v.aid=a.id GROUP BY a.id

我的猜测是是否​​有其他方法不使用额外的 SELECT 查询?

【问题讨论】:

  • category和article_category有什么关系?看起来您只需要文章和视图?
  • 文章属于类别一篇文章可以属于多个类别我在加入时使用类别表,因为我检查类别状态等。

标签: php mysql sql


【解决方案1】:

看来您只需要从子查询中取出总和并使用它。

Select a.ID,SUM(cv.view)
FROM articles a 
JOIN article_category ac ON a.id = ac.aid 
JOIN category c ON c.id=ac.cid 
LEFT JOIN view cv ON v.aid=a.id GROUP BY a.id

【讨论】:

  • 我一篇文章属于它不工作的类别我得到重复
猜你喜欢
  • 2018-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-24
  • 2019-02-09
  • 2015-07-03
  • 2013-05-29
  • 1970-01-01
相关资源
最近更新 更多