我有一个SQLite数据库用于我的游戏关卡,数据来自Name, Campaign, Number, Score
。在构建我的LevelList(带有自定义视图的ListView)时,我想从列表中选择一个Campaign,您可以在其中查看旁边的高分,这是通过在数据库中添加此广告系列级别的所有分数获得的。
数据库中的每个级别都有一个与其相关的广告系列字段。但要制作广告系列列表,我只希望获得不同的(独特的)广告系列。有没有从数据库中获取这些内容的好方法?
获得这些的最佳方法是什么,并获得总分?
数据库的一部分以及我将如何制作我的levelpicker listview:
答案 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