Sql复杂的订单子句

时间:2014-08-18 06:15:14

标签: sql sql-order-by

我的桌子包含州,城市,街道等。每条街道都有3个地址。首先是主要的,其他的是replacement1,replacement2。

我按城市和街道订购结果。结果如下

  1. City Street AdresType
  2. Sincan Plevne St. Replacement1
  3. Sincan Plevne St. Main
  4. Sincan Plevne St. Replacement2
  5. Sincan Bosna St. Replacement2
  6. Sincan Bosna St. Replacement1
  7. Sincan Bosna St. Main
  8. 但我希望AdresType定期上传,如下所示

    1. City Street AdresType
      1. Sincan Plevne St. Main
      2. Sincan Plevne St. Replacement1
      3. Sincan Plevne St. Replacement2
      4. Sincan Bosna St. Main
      5. Sincan Bosna St. Replacement1
      6. Sincan Bosna St. Replacement2
    2. 是否可能。

1 个答案:

答案 0 :(得分:0)

假设您的三列是CityStreetAdresType,并且一行的示例数据是City = Sincan, Street = Plevne St., AdresType = Main,您可以执行以下操作:

select City, Street, AdresType
from yourtable
order by City, Street desc, AdresType

这将首先按City按字母顺序升序排序,然后按Street按降序排序,以便“Plevne St.”在“Bosna St.”之前显示,最后按AdresType按升序排序,以便“Main”位于顶部,然后依次为“Replacement1”和“Replacement2”。