Подтвердить что ты не робот

Android sql - как вы заказываете свой SQL-запрос несколькими столбцами

В настоящее время я работаю над проектом Android в Eclipse, и у меня возникают проблемы с моим SQL-запросом.

Я пытаюсь заказать запрос более чем двумя столбцами, в настоящее время я делаю это с помощью KEY_DAY_ID, но я также хочу сделать это с помощью KEY_START_TIME, но я не могу заставить его работать

В настоящее время мой запрос выглядит следующим образом:

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");

Пожалуйста, дайте мне знать ваши мысли. Заранее благодарю вас!

4b9b3361

Ответ 1

Последний параметр в методе db.query() - это условие order by (без "order by" ). Все, что вам нужно сделать, это разделить оба столбца на ",". Таким образом, это будет выглядеть так:

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");

Ответ 2

Это работает для меня

SQLiteCursor cursor = (SQLiteCursor) db.query(DbHelper.TIMES, colmn, null, null, null, null, DbHelper.TABLE_DAY + " ASC, " + DbHelper.TABLE_LECTURE_NO + " ASC",null);

Ответ 3

Также вы можете сделать это в выделенной строке следующим образом:

Cursor data = ddbb.rawQuery("SELECT * FROM vacations ORDER BY NAME ,MONTH , date ",null);

в предыдущем коде первая вероятность для первого столбца "ИМЯ" затем начнет упорядочиваться по второй вероятности "МЕСЯЦ", а затем по третьей "дате"..... что означает работу в серии
Или же:

Cursor data = ddbb.rawQuery("select * from vacations where NAME = ? ORDER BY MONTH AND date ",new String[]{ns});

в предыдущем коде с помощью "И" два условия работают параллельно