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");
Пожалуйста, дайте мне знать ваши мысли. Заранее благодарю вас!
Ответы
Ответ 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});
в предыдущем коде с помощью "И" два условия работают параллельно