获取重复列值的计数

时间:2014-10-01 10:06:55

标签: android

我创建了一个id和tag为列的表。

id设置为主键。在标签栏中,我输入了多个值。

所以现在我想得到标签值重复次数的计数。

所以我的桌子是这样的。

Id    Tag
---------------------
1     Friend, Family
2     Family, Enemy

我的输出应该是这样的:

friend (1)
family(2)
Enemy(1)

我写了一段代码但没有得到我想要的结果。

这是MyDatabase.java代码:

public Details calculateCount()
{
    Details detail = null;

    try
    {
        SQLiteDatabase db=this.getWritableDatabase();

         String selectQuery=("select count(*),Tags from photodetails group by Tags" );

          Cursor cursor = db.rawQuery(selectQuery, null);
        if(cursor.moveToLast())
        {
            do
            {

             detail=new Details(Integer.parseInt(cursor.getString(0)),(cursor.getString(1)));


            }while( cursor.moveToNext());
        }
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return detail;
}

这是MAinActivity.java代码

 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main_activity2);
  getActionBar().setDisplayHomeAsUpEnabled(true);

          MyDataBase MyDB  = new MyDataBase(this);
  Log.d(LOGCAT,"Entered MAinActivity2");

Details c= MyDB.calculateCount();


 if(c == null)
 {
     Log.d(LOGCAT,"C is null");

 }
 else
 {
 Log.d(LOGCAT,c.getTag()); // Here iam only retrieving tag dont know how to get that count.
 }

  }

请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

如果你想得到一个计数,你将需要创建一个方法,例如int getCount()方法,它将返回计数的int值。目前,您有Details calculateCount(),它将返回一个Details对象。