mysql在一个组中计数

ade*_*ard 3 mysql sql count

假设我有一个投票表,用户可以在其中对值进行投票,向上或向下投票.假设用户每次进行corrcet投影时获得一个点.

在每周结束时,我想显示一些统计数据.

就像是:

SELECT user_id, sum( user_points ) as sum_points FROM voting_results
WHERE voting_date > ('2009-09-18' - INTERVAL 1 WEEK)
GROUP BY user_id 
ORDER BY sum_points DESC
Run Code Online (Sandbox Code Playgroud)

精细.这将为我提供一个很好的列表,其中"最佳猜测"用户首先出现.

这是我的问题:

我如何 - 在同一个查询中 - 获取每个用户在给定时间段内投票的次数?

换句话说:我希望计数 - 每行 - 需要包含在上述查询中使用user_id找到的行数.

有什么建议?

谢谢.

Qua*_*noi 5

只需添加COUNT(*):

SELECT  user_id,
        SUM(user_points) as sum_points,
        COUNT(*) AS num_votes
FROM    voting_results
WHERE   voting_date > ('2009-09-18' - INTERVAL 1 WEEK)
GROUP BY
        user_id 
ORDER BY
        sum_points DESC
Run Code Online (Sandbox Code Playgroud)