D/Name:: Id: 1 ,Name: ㄱ ,Count: 15
D/Name:: Id: 2 ,Name: ㄴ ,Count: 0
D/Name:: Id: 3 ,Name: ㄷ ,Count: 0
D/Name:: Id: 4 ,Name: ㄹ ,Count: 0
D/Name:: Id: 5 ,Name: ㅁ ,Count: 10
D/Name:: Id: 6 ,Name: ㅂ ,Count: 0
D/Name:: Id: 7 ,Name: ㅅ ,Count: 0
D/Name:: Id: 8 ,Name: ㅇ ,Count: 0
D/Name:: Id: 9 ,Name: ㅈ ,Count: 0
D/Name:: Id: 10 ,Name: ㅊ ,Count: 5
D/Name:: Id: 11 ,Name: ㅋ ,Count: 0
D/Name:: Id: 12 ,Name: ㅌ ,Count: 0
D/Name:: Id: 13 ,Name: ㅍ ,Count: 0
D/Name:: Id: 14 ,Name: ㅎ ,Count: 0
D/Name:: Id: 15 ,Name: ㅏ ,Count: 0
D/Name:: Id: 16 ,Name: ㅑ ,Count: 0
D/Name:: Id: 17 ,Name: ㅓ ,Count: 0
D/Name:: Id: 18 ,Name: ㅕ ,Count: 0
D/Name:: Id: 19 ,Name: ㅜ ,Count: 0
D/Name:: Id: 20 ,Name: ㅠ ,Count: 0
D/Name:: Id: 21 ,Name: ㅡ ,Count: 0
D/Name:: Id: 22 ,Name: ㅣ ,Count: 0
이런식으로 디비에 count가 저장이 되어있으면,
이중에서 가장 큰 값 순서대로
D/Name:: Id: 1 ,Name: ㄱ ,Count: 15
D/Name:: Id: 5 ,Name: ㅁ ,Count: 10
D/Name:: Id: 10 ,Name: ㅊ ,Count: 5
이렇게 가져오는 방법을 알고 싶습니다. ㅠㅠ
public class DBContactHelper extends SQLiteOpenHelper {
// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "char";
// Contacts table name
private static final String TABLE_CONTACTS = "contacts";
// Contacts Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_COUNT = "count";
public long getMaxValue() {
SQLiteDatabase db = this.getWritableDatabase();
String sql = "SELECT max("+KEY_COUNT+") FROM "+ TABLE_CONTACTS;
Cursor cursor = db.rawQuery(sql, null);
if (cursor == null) {
return -1;
}
if (!cursor.moveToFirst()) {
cursor.close();
return -1;
}
long max = 0;
try {
String strMax = cursor.getString(0);
max = Long.parseLong(strMax);
} catch (NumberFormatException e) {
e.printStackTrace();
}
cursor.close();
return max;
}
이런식으로 작성해보았습니다.. 일단 최대값만 구할 수 있게.. 저것 마저도
안되더라구요..ㅠ