|
|
|
| Здравствуйте.
Есть таблица с полями tinytext и integer. При сортировке ASC пустые строки и нулевые значения оказываются вверху, а хотелось бы их опустить вниз. Можно ли это сделать? | |
|
|
|
|
|
|
|
для: antf
(14.03.2011 в 22:51)
| | Для этого обычно вводят дополнительное вычисляемое поле, в которое подставляют оператор IF или CASE, которые возвращают 0, если поле равно нулю или строка пустая и 1, если они заполнены. Затем производят сортировку ORDER BY по двум столбцам, первым из которых следует этот вычисляемый столбец. | |
|
|
|
|
|
|
|
для: cheops
(15.03.2011 в 00:29)
| | Спасибо за подсказку. Запрос будет выглядеть примерно так:
$sort - имя столбца, по которому сортируются значения
SELECT *,
IF({$sort} = '' || {$sort} = 0, 1, 0) AS sort1
FROM table
ORDER BY sort1, {$sort} ASC
|
| |
|
|
|