public Cursor fetchNotes1() {
return mDb.rawQuery("SELECT _id,singer,title,score FROM notes ORDER BY score DESC", null);
}
위에 쿼리를 받아서 리스트를 뿌려주는것인데
Cursor result = dbAdapter.fetchNotes1();
result.moveToFirst();
startManagingCursor(result);
String [] from = new String [] {ScoreDbAdapter.KEY_SINGER, ScoreDbAdapter.KEY_TITLE, ScoreDbAdapter.KEY_SCORE};
int [] to = new int [] {R.id.text1, R.id.text2, R.id.text3};
SimpleAdapter = new SimpleCursorAdapter(this, R.layout.score_activity_row, result, from, to);
setListAdapter(SimpleAdapter);
dbAdapter.close();
가수, 제목, 점수 이렇게 타이틀이 들어가있고
그 밑에 데이터가 들어가있습니다.
지나 2Hot 5000
지나 2Hot 4000
지나 2Hot 3000
지나 2Hot 2000
지나 2Hot 1000
이렇게 DB가 존재 한다고 할때 그다음에
지나 2Hot 100000
이 들어간다고 가정하면 결과로 나오는게
지나 2Hot 5000
지나 2Hot 4000
지나 2Hot 3000
지나 2Hot 2000
지나 2Hot 100000
지나 2Hot 1000
이렇게 결과값이 바뀝니다..
아마도 숫자를 숫자로 인식이 되는게 아니고 문자로 인식이 되서 그런거 같은데 정렬하는 방법중에 숫자로 큰수로 작은수로
정렬되는 방법이 없을까요?




select * from 연예인
order by cast(점수 as integer) asc
이렇게 해보세요. ^^