SQL:如何按列排序

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

我有一个有两列的表。我需要按升序排列第一列,但是当我运行查询时,我没有得到我要查找的结果

这是运行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
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的格式进行订购。您知道怎么做吗?我不明白。我的回答会给出你指定的结果。