22,209
社区成员
发帖
与我相关
我的任务
分享
DECLARE @Week INT
SELECT @Week =CAST((SELECT DATEPART(week,GETDATE())AS WEEKCOUNT) AS INT)
--获取前N位玩家信息
SELECT top (@wNum) * FROM (SELECT ROW_NUMBER() over (ORDER BY count(*) DESC) AS SreachIndex,
a.UserID , b.NickName,count(*) AS RoundCount
FROM THTreasureDB.dbo.RecordDrawScore a ,THAccountsDB.dbo.AccountsInfo b
WHERE a.UserID=b.UserID AND CAST((SELECT DATEPART(week,a.InsertTime)AS WEEKNUMBER) AS INT)= @Week ) AS TEMP
GROUP BY a.UserID ORDER BY RoundCount DESC
WHERE SreachIndex > @wStartIdx AND SreachIndex < (@wStartIdx + @wNum - 1)
DECLARE @Week INT
SELECT @Week = CAST(( SELECT DATEPART(WEEK, GETDATE()) AS WEEKCOUNT
) AS INT)
--获取前N位玩家信息
SELECT TOP ( @wNum )
*
FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY COUNT(*) DESC ) AS SreachIndex ,
a.UserID ,
b.NickName ,
COUNT(*) AS RoundCount
FROM THTreasureDB.dbo.RecordDrawScore a ,
THAccountsDB.dbo.AccountsInfo b
WHERE a.UserID = b.UserID
AND CAST(( SELECT DATEPART(WEEK, a.InsertTime) AS WEEKNUMBER
) AS INT) = @Week
) AS TEMP
WHERE SreachIndex > @wStartIdx
AND SreachIndex < ( @wStartIdx + @wNum - 1 )
GROUP BY a.UserID
ORDER BY RoundCount DESC