【发布时间】:2014-09-16 12:19:35
【问题描述】:
我正在尝试做类似于this question 的事情。我有这张桌子:
tab_id 是第二列。 order_in_tab 是第四列。
我想先按等于2 的tab_id 排序,然后将其余的tab_id 升序,然后order_in_tab 升序。
select *
from cam_to_tab_mapping
where unit_id='90013550'
order by (tab_id='2') asc, tab_id asc, order_in_tab asc
但是,它显示Incorrect syntax at '='.。我是一个完整的 SQL 新手,所以我不确定出了什么问题(或者我是否误解了上面的链接解决方案)。
【问题讨论】:
-
确定这个“order by (tab_id='2')”可以工作吗?到目前为止,从未见过“=”的顺序
-
您使用的是哪个数据库?
-
你想用
(tab_id='2')达到什么目的? -
我犯了同样的错误 OP 帖子说:“我想先按等于 2 的 tab_id 排序,然后其余的 tab_id 升序,然后 order_in_tab 升序。”
-
查看我的回答@CyberneticTwerkGuruOrc,它显示了您误解的内容。
标签: sql sql-server