用易点CMS做的吧!嘿嘿。
SELECT TOP 10 *
FROM (SELECT COUNT(UserId) AS diancms, UserName, userid
FROM D_U_Article
WHERE (DATEDIFF([day], AddTime, GETDATE()) <= 7) and LanMu_Id=2
GROUP BY UserId, UserName) DianCMSTable
ORDER BY diancms DESC
此代码是测试过的,希望对你有用。
select top 10
用户名称,栏目,count(文章ID)分类发帖数
from U_Article
where 添加日期 between '查询起始日期' and '查询截止日期' --*
and 栏目='条件栏目' --这里=2
group by 用户名称,栏目
order by count(文章ID) desc --逆序
*注
如果用一个时间(截止时间)来反推起始时间,这行要这样:
where 添加日期 between dateadd(day,-6,'截止时间')
and dateadd(day,1,'截止时间')
另外,这里的条件包含[栏目],所以是分栏下数量最多,并不一定是总数最多.
SELECT TOP 10 *
FROM (SELECT COUNT(UserId) AS id2 , UserName, userid
FROM 表名 WHERE (DATEDIFF([day], AddTime, GETDATE()) <= 7) and LanMu_Id=2
GROUP BY UserId, UserName) 表名 ORDER BY id2 DESC
select top 10 用户名称 from 表 where 条件栏目id=2 and sum(文章id) as count group by 用户名称 order by count;
可能有点毛病 没有表 没法调试