Я использую SQLite в приложении для Android.
Во всех моих таблицах у меня есть строка по умолчанию с индексом 0, который содержит значения по умолчанию для этой таблицы.
В большинстве случаев номер по умолчанию для каждого поля равен 0, и это лучший номер для использования.
Однако, когда я сортирую свои данные, используя инструкцию ORDER BY, я хочу, чтобы все мои поля с нулевым значением помещались в конец списка, поскольку они обычно пусты и используют информацию по умолчанию.
Исключение этих полей в операторе where недопустимо, поскольку я пытаюсь сортировать информацию, а не фильтровать ее.
Вот что у меня есть:
select distinct item.name, epoch_date.epoch
from epoch_date, time
where (time.begin_date_id = epoch_date._id)
and (item.time_id = time._id)
order by epoch_date.epoch;
В моей базе данных песочницы это возвращает что-то вроде:
"item 1", 0
"item 2", 0
"item 4", 0
.
.
.
"item 3", 1275350400
"item 42", 1275472800
"item 12", 1275472800
Но я хочу вот что:
"item 3", 1275350400
"item 42", 1275472800
"item 12", 1275476400
.
.
.
"item 1", 0
"item 2", 0
"item 4", 0