douqiao8032 2013-08-15 09:59
浏览 85
已采纳

SQL ORDER BY AS变量

I have an sql query sorta like this:

SELECT

.....
price

..... AS distance

ORDER BY case
  ...

my question is, how can i use the calculated distance as a sorting element?

  • 写回答

2条回答 默认 最新

  • dongzu0742 2013-08-15 10:24
    关注

    It's unclear for me what "distance" is in the question's query and why you put case in oeder by.

    In general, you can mention field within ORDER BY clause either by its alias or by its number within the select clause. You can put some logic into ORDER BY as well

      select A,
             B as MyB,
             C - Z, -- <- Field #3: (A - #1, B - #2, C - Z - #3, D + F + G - #4 etc)
             D + F + G
        from MyTable
    order by MyB asc,       -- <- by alias
             3 desc,        -- <- by field's number
             D + F + G asc, -- <- by some logic, here it's just copy + paste
             case           -- <- by some logic designed for ORDER BY only
               when (A > B + C) then
                 1
               when (A > B)  then
                 2
               else    
                 3
             end desc
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?