您能为订单中的所有列指定一个方向吗?

And*_*ndy 6 sql oracle sql-order-by oracle10g

是否可以按顺序为所有列提供方向一次?

select *
from my_table
order by name desc, type desc
Run Code Online (Sandbox Code Playgroud)

你能用"desc"一次写同样的东西吗?

也许类似的东西?(这不起作用)

select *
from my_table
order by (name, type) desc
Run Code Online (Sandbox Code Playgroud)

And*_*mar 7

你可以用row_number它:

select  *
from    my_table
order by 
        row_number() over (order by name, type) DESC
Run Code Online (Sandbox Code Playgroud)

最终的DESC将反转row_number的顺序.所以它会将ASC转换为DESC的名称和类型.

  • 我认为输入ORDER BY名称DESC更容易,输入DESC ;-) (4认同)
  • @DCookie - 对于那些以后需要维护代码的人来说也更清楚了 (2认同)

Ste*_*ice 4

不可以。SQL 标准不允许这样做。

话虽如此,可能有一些 RDBMS 确实支持这样的语法。我只是不知道。