9

最高点にポイントを追加したいと思います。私のテーブルは

ここに画像の説明を入力

生徒の最高 3 点にポイントを与えようとしています。1 番目に高いマークは 5 ポイント、2 番目に高いマークは 3 マーク、3 番目に高いマークは 1 マークになります。

最高のマークを選択するためにこのコードを使用しています。

select t1.ID, t1.Name, t1.Section, t1.Marks from myTable t1 join 
(select Section, substring_index(group_concat
 (distinct Marks order by Marks desc), ',', 3) as Marks3  
 from myTable group by Section ) tsum  on t1.Section = tsum.Section 
  and find_in_set(t1.Marks, tsum.Marks3) > 0 ORDER BY Section, Marks DESC, ID Desc

1 番目に高い値に 5 点、2 番目に高い値に 3 点、3 番目に高い値に 1 点を追加したいと思います。学生のマークが重複する場合があります。

http://www.sqlfiddle.com/#!2/dca0c/1を参照してください。

だから私の最終的な出力

ここに画像の説明を入力

私を助けてください..

4

2 に答える 2