如何更改选择查询中的列位置 [英] How to change the column position in select query
问题描述
我有一个名为'TITLE'的表。表格结构是这样的
TITLE_ID || TITLE_NAME
========================
1 ||先生
2 || Frau
3 ||种类
4 ||家庭
我尝试了什么:
我写了一个查询选择数据,SELECT TITLE_ID,TITLE_NAME FROM TITLE ORDER BY'TITLE_ID'asc,得到了这样的结果,
TITLE_ID || TITLE_NAME
========================
1 ||先生
2 || Frau
3 ||种类
4 ||家庭
但是我希望2 || Frau在第一名,1 || Herr在第二名。是否可以通过编写选择查询?
I have a table named 'TITLE' .Table structure is like this
TITLE_ID || TITLE_NAME
========================
1 || Herr
2 || Frau
3 || Kind
4 || Fam
What I have tried:
I wrote a query for selecting the data ,"SELECT TITLE_ID,TITLE_NAME FROM TITLE ORDER BY 'TITLE_ID' asc" , got the result like this,
TITLE_ID || TITLE_NAME
========================
1 || Herr
2 || Frau
3 || Kind
4 || Fam
But I want " 2 || Frau " in first position and " 1 || Herr " in second position . Is it possible by writing the select query ?
推荐答案
您是否尝试过使用ORDER BY + CASE WHEN ...
?
Have you tried to useORDER BY + CASE WHEN ...
?
SELECT ...
FROM ...
ORDER BY CASE TITLE_ID WHEN 2 THEN 0 ELSE TITLE_ID END
请参阅:
ORDER BY CASE |使用Manoj的SQL [ ^ ]
SQL SERVER - ORDER BY子句中的CASE语句 - 使用变量的ORDER BY - 使用Pinal Dave的SQL权限之旅 [ ^ ]
您正在从TITLE_ID字段订购记录,您应按TITLE_NAME订购查询:
SELECT TITLE_ID,TITLE_NAME FROM TITLE ORDER BY TITLE_NAME
此查询将返回结果为
TITLE_ID || TITLE_NAME
========================
1 || Fam
2 || Frau
3 ||先生
4 ||种类
Ashish Nigam
You are ordering records from the "TITLE_ID" field, You should order query by "TITLE_NAME" like that:
SELECT TITLE_ID,TITLE_NAME FROM TITLE ORDER BY TITLE_NAME
This query will return result as
TITLE_ID || TITLE_NAME
========================
1 || Fam
2 || Frau
3 || Herr
4 || Kind
Ashish Nigam
这篇关于如何更改选择查询中的列位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!