我有一个包含两列的表。其中一个列包含文本,另一个列包含整数值。
我需要用整数值来排序这个表(最上面的值更高),但是如果整数值等于0,那么我也需要按字母顺序排列该行。假设我有这张桌子
TextCol|IntCol|
-------|------|
Delta | 0 |
Alpha | 0 |
Beta | 3 |
Sierra | 2 |
Gama | 1 |现在我需要这个:
TextCol|IntCol|
-------|------|
Beta | 3 |
Sierra | 2 |
Gama | 1 |
Alpha | 0 |
Delta | 0 |这方面的SQL查询是什么?
发布于 2016-08-22 12:19:46
可以使用CASE WHEN使用以下解决方案
SELECT * FROM table
ORDER BY intColumn DESC,
CASE WHEN intColumn = 0 THEN stringColumn END ASC在这里您可以找到一个例子: http://sqlfiddle.com/#!9/a982a/1
发布于 2016-08-22 12:11:58
试试这个:
https://stackoverflow.com/questions/39079181
复制相似问题