SQl数据库中有一个表格,显示结果如下:
ID Name value
1 Chips 100
2 Chocolate 50
3 Ice Cream 200
4 Burger 40
但我希望以这种方式显示它:
Name value
Chocolate 50
Chips 100
Ice Cream 200
Burger 40
如何在sql server中执行此操作?
答案 0 :(得分:0)
您可以使用ID
进行如下排序
ORDER BY CASE ID
WHEN 2 THEN 1
WHEN 1 THEN 2
WHEN 3 THEN 3
WHEN 4 THEN 4
ELSE 5
END
如果有动态行(很多行),您可以使用如下所示
ORDER BY CASE ID
WHEN 2 THEN 1
ELSE 2
END
else部分将处理剩余的行。
答案 1 :(得分:0)
您可以使用CASE
中的ORDER BY
来确保name = 'Chocolate'
的记录首先出现,其余记录按ID
排序。
select name, value
from table1
order by case name
when 'Chocolate' then -1
else ID
end
答案 2 :(得分:0)
试试这个
SELECT * FROM `test` WHERE 1 ORDER BY name = 'Chocolate' DESC