2016-06-25 9 views
0

私はAndroidでSQLiteデータベースを使用しています。私は自分のデータベースにtstResultというテーブルを持っています。SQLiteの試験結果からメリットリストを生成するには

AI SubID StudID StudName TotalMarks ObtainedMarks 
-------------------------------------------------------- 
1 | 1 | 1 | Jakir | 100 | 90 
2 | 1 | 2 | Rubel | 100 | 75 
3 | 1 | 3 | Ruhul | 100 | 82 
4 | 1 | 4 | Beauty | 100 | 82 
5 | 1 | 5 | Bulbul | 100 | 96 
6 | 1 | 6 | Ripon | 100 | 82 
7 | 1 | 7 | Aador | 100 | 76 
8 | 1 | 8 | Jibon | 100 | 80 
9 | 1 | 9 | Rahaat | 100 | 82 

ここでは、獲得したマークに従ってメリットリストを生成するSELECTクエリが必要です。このクエリでは、得られたマーク「96」がメリットリストの先頭になり、すべての「82」マークがメリットリストに順次配置されます。このようなもの:

StudID StudName TotalMarks ObtainedMarks Merit List 
---------------------------------------------------------- 
| 5 | Bulbul | 100 |  96  | 1 
| 1 | Jakir | 100 |  90  | 2 
| 9 | Rahaat | 100 |  82  | 3 
| 3 | Ruhul | 100 |  82  | 3 
| 4 | Beauty | 100 |  82  | 3 
| 6 | Ripon | 100 |  82  | 3 
| 8 | Jibon | 100 |  80  | 4 
| 7 | Aador | 100 |  76  | 5 
| 2 | Rubel | 100 |  75  | 6 

どうすればいいですか?どんな助言も大きな助けになる。

答えて

1

あなたは明らかに大きな得られた数値(1)

SELECT res.StudId 
    , res.StudName 
    , res.TotalMarks 
    , res.ObtainedMarks 
    , (
     SELECT 1+COUNT(DISTINCT obtainedMarks) 
     FROM tstResult greater 
     WHERE greater.ObtainedMarks > res.ObtainedMarks 
    ) MeritList 
FROM tstResult res 
ORDER BY res.ObtainedMarks DESC 

Example

の数をカウントすることができます
0

あなたが得マークスによってソートされた順序であなたの結果が得られます。このクエリSELECT * FROM tstResult ORDER BY ObtainedMarks DESC

を使用することができます。

関連する問題