SQLite Android获得不同的值

时间:2012-02-11 15:59:35

标签: android sqlite listview

我有一个SQLite数据库用于我的游戏关卡,数据来自Name, Campaign, Number, Score。在构建我的LevelList(带有自定义视图的ListView)时,我想从列表中选择一个Campaign,您可以在其中查看旁边的高分,这是通过在数据库中添加此广告系列级别的所有分数获得的。

数据库中的每个级别都有一个与其相关的广告系列字段。但要制作广告系列列表,我只希望获得不同的(独特的)广告系列。有没有从数据库中获取这些内容的好方法?
 获得这些的最佳方法是什么,并获得总分?

数据库的一部分以及我将如何制作我的levelpicker listview:
enter image description here

1 个答案:

答案 0 :(得分:5)

select * from gdata

 campain        num     name       file       score     player    
 -------------  ------  ---------  ---------  --------  --------- 
 Campain One    1       Level One  test1.xml  1221      john      
 Campain One    1       Level Two  test1.xml  122       john      
 Campain One    1       Level Two  test1.xml  122       dereck    
 Campain One    1       Level Two  test1.xml  122       jon       
 Campain Two    1       Level Two  test1.xml  122       jon       
 Campain Two    1       Level Two  test1.xml  122       jon       
 Campain Two    1       Level Two  test2.xml  122       jon       
 Campain Three  1       Level Two  test2.xml  1122      jon       
 Campain Three  1       Level Two  test2.xml  1122      jon       
 Campain Three  1       Level Two  test2.xml  1122      derekk  

select 'All' as campain ,'All'as player,sum(score) score from gdata
union
select campain,player,sum(score) as score from gdata group by campain,player

 campain        player     score    
 -------------  ---------  -------- 
 All            All        5319     
 Campain One    dereck     122      
 Campain One    john       1343     
 Campain One    jon        122      
 Campain Three  derekk     1122     
 Campain Three  jon        2244     
 Campain Two    jon        366      

select campain,sum(score) as score from gdata group by campain

 campain        score    
 -------------  -------- 
 Campain One    1587     
 Campain Three  3366     
 Campain Two    366   

select campain,player,max(score) from (
select campain,player,sum(score) as score from gdata 
group by campain,player order by score desc
) as b
group by campain  

 campain        player     score
 -------------  ---------  ------------- 
 Campain One    john       1343          
 Campain Three  jon        2244          
 Campain Two    jon        366