需要帮助构建连接查询以返回顶级评论者

时间:2012-03-02 22:03:49

标签: mysql

我试图使用单个SQL查询返回前2个月的前五名评论者,但我无法理解我是如何加入联接查询的。

这是我的表格的样子:

+--------+--------+----------+------------+---------+
| postid | userid | username | dateline   | comment |
+--------+--------+----------+------------+---------+
| 142535 |   5257 | oshatz   | 1094462853 | ....... | 
+--------+--------+----------+------------+---------+

这是我开始的查询。我想我已经接近了,但我无法弄清楚。

SELECT username, j.total
  FROM post as post
  JOIN (SELECT count(postid) as total
          FROM post
         WHERE userid = post.userid 
           AND dateline > 1328054400 
           AND dateline < 1330473600) as j
 WHERE dateline > 1328054400 
   AND dateline < 1330473600
 GROUP
    BY userid
LIMIT 10

我希望结果看起来像这样

+----------+----------+
| username | total    |
+----------+----------+
| Ken      |      149 |
+----------+----------+
| Bob      |      102 |
+----------+----------+
| Cindy    |      100 |
+----------+----------+
| Linsy    |       96 |
+----------+----------+
| Greg     |       85 |
+----------+----------+

有人可以帮我构建该查询吗?谢谢!

1 个答案:

答案 0 :(得分:1)

SELECT username, count(postid) as total
FROM post
WHERE dateline > 1328054400 AND dateline < 1330473600
GROUP BY userid, username
ORDER BY total DESC
LIMIT 10