SQLite - сортировка таблицы - PullRequest
7 голосов
/ 21 марта 2009

У меня есть база данных в SQLlite, и я хочу отсортировать таблицу в алфавитном порядке. Как мне это сделать? Есть ли способ сортировки записей, используя только SQLite, или мне сначала нужно прочитать таблицу в массив, отсортировать ее, а затем записать в базу данных?

Вот мой запрос: «ВЫБЕРИТЕ запись ИЗ таблицы, ГДЕ id =?» Мне нужно получить данные из таблицы, используя это утверждение, чтобы получить только одну запись за раз.

Спасибо заранее, Илья.

Ответы [ 3 ]

14 голосов
/ 21 марта 2009
'Select name from table order by name asc' 

«asc» возрастает, даст вам текстовое поле в алфавитном порядке, и наоборот, «desc» даст вам его в обратном алфавитном порядке.

Редактировать: как правило, вы должны разрешить базе данных выполнять сортировку. Нижеследующий пост имеет отношение, и, возможно, почти то же самое. Вы можете найти это полезным:

PHP / SQL: ORDER BY или sort ($ array)?

2 голосов
/ 29 марта 2009

Стоит также подчеркнуть, что порядок данных в любой таблице базы данных SQL или извлеченный из них с использованием запроса, который не включает предложение order by, не определен.

На практике прямое чтение таблицы без порядка по извлекает данные в некотором фиксированном порядке, и часто это порядок вставки. Однако полагаться на это - всегда ошибка, хотя часто встречается тревожно.

0 голосов
/ 29 марта 2009

Если вы хотите отсортировать таблицу без учета регистра или с определенной локалью (не на английском языке), вы должны добавить параметры сортировки в свой sqlite. Вот пример , как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...