2012-02-11 71 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