【发布时间】:2014-06-24 03:22:59
【问题描述】:
我正在尝试创建一个页面,显示前 10 位用户以及前 10 位用户总共拥有多少篇文章,以及该用户在过去 30 天、90 天和 180 天内拥有多少篇文章。
根据总文章检索前 10 个用户,这应该是默认排序。对于 30、90 和 180 天的统计数据,它们应该针对这 10 个用户。
我不知道该怎么做是获取这十个用户的所有这些信息,按总数排序,然后将其余的也显示出来。
数据库中没有存储 30、90 和 180 天的任何内容,因此必须根据日期范围计算它们。
有一个 user 表和一个 article 表,关系为 userid,article 表有每篇文章的创建日期。
该查询将根据总文章查找前 10 位用户,然后计算在该时间范围内创建的 30、90 和 180 篇文章。然后我就可以在 html 表格中呈现它了。
谢谢。
编辑:如何呈现数据的示例:http://i.imgur.com/BjALeHZ.png
【问题讨论】:
-
你有这个场景的 sqlfiddle 吗?
-
使用带有子查询的
LEFT JOIN再次为 30、90 和 180 计数添加表。 -
这里是一个例子,它看起来如何i.imgur.com/BjALeHZ.png