Rus*_*ell 1 sql-server sql-order-by
我有一个问题:
DECLARE @MyTemp TABLE
(
MyField VARCHAR(20)
)
INSERT INTO @MyTemp VALUES ( 'BBA' )
INSERT INTO @MyTemp VALUES ( 'ABA' )
INSERT INTO @MyTemp VALUES ( 'AAA' )
INSERT INTO @MyTemp VALUES ( 'BAA' )
SELECT * FROM @MyTemp
ORDER BY MyField
Run Code Online (Sandbox Code Playgroud)
我想要的是按字母顺序排序,除了以BA开头的任何内容,我想要最后一次.
我试过这个:
SELECT * FROM @MyTemp
ORDER BY MyField, CASE MyField LIKE 'BA%' WHEN 1 THEN 1 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)
哪个不起作用.我试过IIF,包含所有没有成功.
我怎样才能做到这一点?
更改ORDER BY到
ORDER BY CASE WHEN MyField LIKE 'BA%' THEN 1 ELSE 0 END, MyField
Run Code Online (Sandbox Code Playgroud)