2016-12-04 2 views
-1

У меня есть таблица, как этотSQL - Можно ли сортировать столбцы по другим столбцам?

Column1 Column2 Column3 
3  2  1 

Можно ли вернуть столбцы в порядке ASC? 1> 2> 3

Column3 Column2 Column1 
1  2  3 
+0

, 3,2,1 - значения внутри каждого столбца? или просто ссылаются на столбец? – wu4m4n

+1

mysql или sqlite? вы можете просто установить порядок столбцов, когда вы делаете выбор – Dekel

+0

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

ответ

0

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

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

select col1 as val, 'col1' as colname from yourtable 
union 
select col2, 'col2' from yourtable 
union 
select col3, 'col3' from yourtable 
order by val asc 

val поле дает значение, colname поля говорит вам, какой столбец пришли данные.

Смежные вопросы