2012-04-20 28 views
20

Tôi hiện đang làm việc trên một dự án Android trong Eclipse và tôi đang gặp vấn đề với truy vấn SQL của tôi.android sql - làm thế nào để bạn đặt hàng truy vấn sql của bạn theo nhiều cột

Tôi cố gắng để ra lệnh truy vấn hơn hai cột, hiện tôi đang làm nó bằng cách KEY_DAY_ID nhưng tôi muốn cũng phải làm điều đó bằng cách KEY_START_TIME, nhưng tôi không thể làm cho nó hoạt

truy vấn của tôi hiện trông giống như sau:

Cursor cursor = db.query(TABLE_SESSION, new String[] {KEY_ID, KEY_MODULE_CODE, 
      KEY_DAY_OF_WEEK, KEY_START_TIME, KEY_DURATION, KEY_SESSION_TYPE, KEY_ROOM}, 
      null, null, null, null, KEY_DAY_ID + " ASC"); 

Hãy cho tôi biết suy nghĩ của bạn. Cảm ơn bạn trước!

+0

'KEY_DAY_ID + "" + KEY_START_TIME' (ASC là mặc định) - nên sắp xếp theo day_id đầu tiên và sau đó bởi start_time – zapl

Trả lời

39

Tham số cuối cùng trong phương pháp db.query() là thứ tự quy định tại khoản (không có "tự do"). Tất cả những gì bạn cần làm là tách riêng cả hai cột bằng dấu ",". Vì vậy, nó sẽ trông như thế:

Cursor cursor = db.query(TABLE_SESSION, new String[] {KEY_ID, KEY_MODULE_CODE, 
     KEY_DAY_OF_WEEK, KEY_START_TIME, KEY_DURATION, KEY_SESSION_TYPE, KEY_ROOM}, 
     null, null, null, null, KEY_DAY_ID + " ASC, " + KEY_START_TIME + " ASC"); 
+0

nhờ tôi cần thư này "ASC", –

+1

Vậy cái nào có ưu tiên cao hơn trong khi sắp xếp? –

+3

@AllenZeng cái đầu tiên. –

1

này làm việc cho tôi

SQLiteCursor cursor = (SQLiteCursor) db.query(DbHelper.TIMES, colmn, null, null, null, null, DbHelper.TABLE_DAY + " ASC, " + DbHelper.TABLE_LECTURE_NO + " ASC",null); 
Các vấn đề liên quan