You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求编写查询语句计算StackOverflow用户近一年问答所得声誉

Stack Overflow用户近365天获取的声誉查询语句

下面的查询语句可以统计用户在近365天内,通过提问和回答获得的累计声誉,同时展示用户注册时长,方便区分1年/10年经验的用户:

SELECT
  u.Id AS UserId,
  u.DisplayName,
  DATEDIFF(year, u.CreationDate, GETDATE()) AS AccountAgeYears,
  -- 统计近365天内新发布内容的基础声誉
  SUM(CASE
    WHEN p.PostTypeId = 1 THEN p.Score * 5 -- 提问每赞+5
    WHEN p.PostTypeId = 2 THEN p.Score * 10 -- 回答每赞+10
    ELSE 0
  END) +
  -- 统计近365天内投票带来的声誉变化
  SUM(CASE
    WHEN v.VoteTypeId = 2 AND p.PostTypeId = 1 THEN 5 -- 提问新增赞+5
    WHEN v.VoteTypeId = 2 AND p.PostTypeId = 2 THEN 10 -- 回答新增赞+10
    WHEN v.VoteTypeId = 3 AND p.PostTypeId = 2 THEN -2 -- 回答被踩-2
    ELSE 0
  END) AS Last365DaysReputation
FROM Users u
LEFT JOIN Posts p ON u.Id = p.OwnerUserId
LEFT JOIN Votes v ON p.Id = v.PostId
WHERE
  -- 覆盖近365天内的新内容,以及旧内容在近期获得的投票
  (p.CreationDate >= DATEADD(day, -365, GETDATE()))
  OR (v.CreationDate >= DATEADD(day, -365, GETDATE()))
GROUP BY u.Id, u.DisplayName, u.CreationDate
ORDER BY Last365DaysReputation DESC;

关键说明:

  • 统计范围不仅包含近365天发布的提问/回答,还涵盖旧内容在近期获得的投票,更准确反映用户近期活跃度
  • 声誉计算严格遵循Stack Overflow官方规则
  • 通过AccountAgeYears字段可快速筛选出1年或10年经验的用户做对比

内容的提问来源于stack exchange,提问作者nik0x1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 07:27:04