MySQLクエリについてサポートが必要です。WHERE句を使用して参加者をランク付けしようとしています。ですから、初心者、中級者、経験者を別々にランク付けしたいと思います。例えば:
Rank Name Grade Type
----------------------------------
1 Bob 98 Novice
2 Jill 88 Novice
3 Jimmy 42 Novice
1 Mark 87 Intermediate
2 Scott 85 Intermediate
3 Jim 77 Intermediate
1 Jane 90 Advanced
2 John 89 Advanced
3 Josh 87 Advanced
私はもう試した:
SET @rank=0;
(SELECT @rank:=@rank+1 AS rank, name, grade, type FROM myTable WHERE type='novice' ORDER BY grade DESC)
UNION ALL
(SELECT @rank:=@rank+1 AS rank, name, grade, type FROM myTable WHERE type='intermediate' ORDER BY grade DESC)
UNION ALL
(SELECT @rank:=@rank+1 AS rank, name, grade, type FROM myTable WHERE type='experienced' ORDER BY grade DESC)
どういうわけかランクをリセットする必要があると思います。多分私は別の問題がありますか?