ioangrozniy
@ioangrozniy

SQLite как отсортировать по нескольким столбцам одновременно?

Есть таблица:
name | v1 | v2 | v3
----------------------
Вова | 2 | 0 | 0
Ваня | 0 | 0 | 0
Гриша| 0 | 4 | 0
Вася | 0 | 0 | 10
Петя | 1 | 20 | 40

Задача вывести имена сортируя по столбцам v1 v2 v3, причём учитывать при сортировке последовательно поля начиная с v1 с условием, что поле больше ноля.
Результат: Вася (10), Гриша (4), Вова (2), Петя (1), Ваня (0)
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
В этом случае вы можете использовать оператор case с оператором where

select * from users
order by case 
	when v1 > 0 then v1 
	when v2 > 0 then v2
	else v3
end desc;


SQLite online sandbox
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Web Control Москва
от 150 000 до 250 000 ₽
CodeX Нижний Новгород
от 30 000 до 80 000 ₽
CodeX Нижний Новгород
от 30 000 до 80 000 ₽