SQL:如何按列排序
我有一个有两列的表。我需要按升序排列第一列,但是当我运行查询时,我没有得到我要查找的结果 这是运行SELECT查询时获得的当前输出:SQL:如何按列排序,sql,sql-order-by,Sql,Sql Order By,我有一个有两列的表。我需要按升序排列第一列,但是当我运行查询时,我没有得到我要查找的结果 这是运行SELECT查询时获得的当前输出: Retailer AccountsOpened 1 Retailer 1 1 2 Retailer 2 1 3 Retailer 3 1 4 Mobichoice 1 5 Retailer 1 3 6 Retailer 2 3 7 Retailer 3 3 8 Mobichoice 3 9 Retailer 1 2
Retailer AccountsOpened
1 Retailer 1 1
2 Retailer 2 1
3 Retailer 3 1
4 Mobichoice 1
5 Retailer 1 3
6 Retailer 2 3
7 Retailer 3 3
8 Mobichoice 3
9 Retailer 1 2
10 Retailer 2 2
11 Retailer 3 2
12 Mobichoice 2
我试着按零售商ASC和AccountsPeed订购,但这不起作用。我尝试的代码如下:
SELECT * FROM Table 1 ORDER BY Retailer ASC, AccountsOpened
我希望看到的输出应该如下所示:
Retailer AccountsOpened
1 Retailer 1 1
2 Retailer 1 2
3 Retailer 1 3
4 Retailer 2 1
5 Retailer 2 2
6 Retailer 2 3
7 Retailer 3 1
8 Retailer 3 2
9 Retailer 3 3
10 Mobichoice 1
11 Mobichoice 2
12 Mobichoice 3
如何实现这一点?使用case表达式将Mobichoice行置于不同零售商行之后
SELECT * FROM Table 1
ORDER BY case when Retailer = 'Mobichoice' then 2 else 1 end,
Retailer ASC, AccountsOpened
你在这里混订。M在R之前,但是你把Mobichoice行放在零售商行之后。实际上,您的零售商行是ASC订单。谢谢,这很有效,但是我也希望以1,2,3的格式进行订购。您知道怎么做吗?我不明白。我的回答会给出你指定的结果。