2012-02-11 62 views
1

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

数据库中的每个级别都有一个它所属的活动字段。但是为了制作一个活动列表,我只想获得独特的(独特的)活动。有没有从数据库中获取这些数据的好方法?
获得这些的最佳方式是什么,并获得总分?数据库的

部分以及如何我要去把我levelpicker列表视图:
enter image description here

+0

我认为需要一些澄清。 1)发表一些关于你的竞选列表想法的草图/解释,以及2)你的桌子是如何建立的(哪些列)。 – Yar 2012-02-11 16:05:23

+0

'选择campain,来自gdata group by campain'的总和(分数)......如果我说得对。如果你想添加播放器添加播放器来选择和分组' – 2012-02-11 16:29:42

+0

不'选择广告系列...也会返回来自广告系列的重复?而且,这不是给我所有级别的总分吗? – user717572 2012-02-11 16:40:43

回答

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 
+0

太好了,谢谢!我试了一下,结果很好。我以为'group by'想要对它们进行排序。第三个例子和'player'一起正是我需要的,但其他的也很棒,例如高分榜。我现在试着去实现它。 – user717572 2012-02-11 17:31:09

+1

很高兴提供帮助。请将其设置为答案。 – 2012-02-11 17:38:09