如何从SQLite

时间:2016-06-25 12:25:27

标签: android sql sqlite

我在Android中使用SQLite数据库。我的数据库中有一个名为tstResult的表。

 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

我该怎么做?任何建议都有很大的帮助。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您可以使用此查询

SELECT * FROM tstResult ORDER BY ObtainedMarks DESC

通过获取标记,您将按照排序顺序为您提供结果。