2012-08-15 62 views
1

我找不出以下問題。 我得到一個非常簡單的名稱列表。 現在我想用下面的功能來計算這個關係中的所有名字。SQLite計數(列)GROUP BY問題

Cursor c = database.rawQuery(
      "select count(name) from geo group by name", null); 
    int count = 0; 
    if (c.getCount() > 0) { 
     c.moveToFirst(); 
     count = c.getInt(0);   
    } 
    c.close(); 
    return count; 

我在我的表格中看到了兩行。 一個名字叫「John」,另一個叫「Sandra」。但代碼總是返回count = 1 如果我在我的serverside應用程序中使用mysql執行sql,它運行良好。

您是否看到問題?

回答

4

你可能想

SELECT count(name) FROM geo 

SELECT count(DISTINCT name) FROM geo 
+0

podiluska嗨, 不知道這是否是我需要的。在我的解決方案中,我會收到一些名字。但是每個名字都是分組的。 對於關係: { ID:命名 1:約翰 2:桑德拉 3:桑德拉 } 我的函數必須返回2. – 2012-08-15 11:30:06

+0

但在你的代碼,你只讀取返回的數據集的第一行。 – podiluska 2012-08-15 11:31:30

+0

結果只能是一行 – 2012-08-15 11:33:00