已下数据:
A1 A2
001 001
001 002
001 003
001 004
001 005
001 006
001 007
001 008
002 001
002 002
002 003
002 004
002 005
002 006
002 007
002 008
003 001
003 002
003 003
003 004
003 005
003 006
003 007
003 008
如何通过sql实现下列排序:
A1 A2
001 001
001 002
001 003
001 004
001 005
001 006
001 007
001 008
002 008
002 007
002 006
002 005
002 004
002 003
002 002
002 001
003 001
003 002
003 003
003 004
003 005
003 006
003 007
003 008
------解决方案--------------------------------------------------------
SELECT * from tta a order by a1,
case when mod(a1,2)=0 then cast(a2 as DECIMAL )*-1 else cast(a2 as DECIMAL) end
------解决方案--------------------------------------------------------
分析函数应该可以解决 partition by a1