条款ORDER BY

Pie*_*sso 0 sql sql-server

我在sql server中选择了一个问题,我有这个表有2列:

a   2
b   1
c  100
d   1
a  100
b   1
c   2
d   1
Run Code Online (Sandbox Code Playgroud)

我想基于第一列订购它,这样:

a   2
a   100
b   1
b   1
c   2
c   100
d   1
d   1
Run Code Online (Sandbox Code Playgroud)

但是后来j想要将secondcolumn = 100的行移到底部,所以:

a   2
b   1
b   1
c   2
d   1
d   1
a  100
c  100
Run Code Online (Sandbox Code Playgroud)

我已尝试使用ORDER BY column1 ASC,(column2 = 100)ASC,但它没有用!

谢谢你和问候.

Gor*_*off 5

实际上,您希望第二列中包含100的行首先移到底部,然后按第一列排序:

order by (case when col2 = 100 then 1 else 0 end),
         col1
Run Code Online (Sandbox Code Playgroud)