Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
adrox
Starting Member
17 Posts |
Posted - 2005-09-02 : 00:15:30
|
| Ok...I have a temp table that has the following results:opmMemberID PtsAwarded leagueID tiebreaker ----------- ----------- ----------- ----------- 7310 5 671549 247292 3 671549 247381 2 671549 207413 2 671549 07419 4 672454 157420 2 672635 127424 13 673359 0What I need to do is rank the results by league Like thisopmMemberID PtsAwarded leagueID tiebreaker RANK----------- ----------- ----------- ----------- 7310 5 671549 24 17292 3 671549 24 27381 2 671549 20 37413 2 671549 0 47419 4 672454 15 17420 2 672635 12 17424 13 673359 0 1Thanks |
|
|
madhivanan
Premature Yak Congratulator
22864 Posts |
Posted - 2005-09-02 : 00:49:19
|
| Try thisSelect opmMemberID, PtsAwarded, leagueID, tiebreaker,(Select count(*) from yourTable where leagueID =T.leagueID and opmMemberID <= T.opmMemberID) as Rank from yourTable TMadhivananFailing to plan is Planning to fail |
 |
|
|
adrox
Starting Member
17 Posts |
Posted - 2005-09-02 : 00:58:41
|
| Thanks man. Worked great! |
 |
|
|
adrox
Starting Member
17 Posts |
Posted - 2005-09-04 : 01:02:13
|
| I thought this was working but it is not. Can you help me find the error.SELECT m.opmMemberID, PtsAwarded, leagueID, isNull((select tiebreaker from opmMemberTiebreaker where opmMemberID = m.opmMemberID AND periodID = 1040 AND GameID = 1001),0) tiebreakerinto #rank FROM opmMemberRank m INNER JOIN opmLeagueMEmber lm ON lm.opmMemberID = m.opmMemberID where m.periodID = 1040Group by leagueID, m.opmMemberID, PtsAwardedORDER BY ptsAwarded desc, tiebreaker descSelect opmMemberID, PtsAwarded, leagueID, tiebreaker, (Select count(opmMemberID) from #rank where leagueID = T.leagueID and opmMemberID <= T.opmMemberID ) as Rank INTO #rank2from #rank TOrder by leagueID, PtsAwarded desc, tiebreaker, rankselect * from #rank2where leagueID = 1183960Which yieds these results. Notice that the rank is off:opmMemberID PtsAwarded leagueID tiebreaker Rank ----------- ----------- ----------- ----------- ----------- 12562 9 1183960 22 812511 6 1183960 50 212513 0 1183960 0 312520 0 1183960 0 412523 0 1183960 0 512524 0 1183960 0 612527 0 1183960 0 712707 0 1183960 0 912499 -12 1183960 0 1So basically the temp table doesn't seem to be sorting correctly, thus when I rank it, it stores the rank incorrectly.Any help would be great.thanks |
 |
|
|
madhivanan
Premature Yak Congratulator
22864 Posts |
Posted - 2005-09-05 : 00:49:36
|
| Try thisSelect opmMemberID, PtsAwarded, leagueID, tiebreaker,(Select count(opmMemberID) from #rank where tiebreaker = T.tiebreaker and opmMemberID <= T.opmMemberID) as Rank INTO #rank2from #rank TOrder by leagueID, PtsAwarded desc, tiebreaker, rankMadhivananFailing to plan is Planning to fail |
 |
|
|
|
|
|
|
|