Mat*_*ias 0 sql sql-server ssms
假设我有一个名为Car的表,其中包含Age和CreationDate列.
我现在想要订购,以便所有年龄大于0的汽车先排序,然后按creationDate按降序排序.因此,如果汽车的年龄是4,6,7例如只是它是大于0.这意味着,基本上所有行通过CreationDate排序,除了所有的汽车行驶的年龄大于0是没关系排序第一.
例如,下面的代码不起作用,因为汽车首先按年龄排序,并忽略实际的CreationDate.(我不想反转它并首先使用CreationDate,因为那时年龄> 0的汽车不会首先列出).
SELECT * FROM Car ORDER BY Age, CreationDate DESC
Run Code Online (Sandbox Code Playgroud)
任何帮助或输入都非常感谢,谢谢!
您可以使用CASE
表达式:
SELECT *
FROM Car
ORDER BY CASE WHEN Age > 0 THEN 1 ELSE 2 END,
CreationDesc DESC
;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
608 次 |
最近记录: |