Упорядочивание несколькими полями в SQLite

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

тогда Вы могли автоматизировать это от c#.

и однажды в csv, c# программа может grok это.

(также, если кто-то спрашивает Вас к программе в Excel, лучше притворяться, что Вы не знаете, как)

(отредактируйте: ах да, ограбьте, и ryan являются оба правильными)

7
задан Jeremy Logan 9 September 2009 в 04:25
поделиться

2 ответа

похоже, что вы ищете:

ORDER BY COALESCE(updated_at, created_at)

на документы , coalesce возвращает

копию первого ненулевого значения аргумент. Если все аргументы равны NULL, то NULL будет вернулся. Должно быть не менее 2 аргументы.

Изменить : учитывая правку OP, он может вместо этого захотеть:

ORDER BY COALESCE(updated_at, '1929-9-9') DESC, created_at DESC

или аналогичные уловки для упорядочивания DESC; или, может быть,

ORDER BY MAX(COALESCE(updated_at, '1929-9-9'), created_at) DESC

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

18
ответ дан 6 December 2019 в 08:44
поделиться

IFNULL, см. здесь

В этом случае вы должны использовать что-то вроде:

IFNULL (updated_at, '1-jan-2100'), created_at

Всем столбцам без поля updated_at будет присвоен порядок сортировки по умолчанию, а затем они будут отсортированы по created_at. Значение 1-jan-2100 гарантирует, что они будут последними в списке. Измените это значение на 1900, если хотите, чтобы они были первыми.

3
ответ дан 6 December 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: