1

次のようなテーブルTableAがあります。

ColA    ColB
0        20
1        10
0        5
1        15

ColA = 0のすべてのレコードが最初にリストされるように行を並べ替えてから、これらのレコードをColBで昇順に並べ替えます。ColA = 0のすべての行がリストされた後、ColA = 1のすべての行をリストしたいのですが、これらの行はColBで降順にソートされています。

結果は次のようになります。

ColA    ColB
0        5
0        20
1        15
1        10

これは可能ですか?ご協力いただきありがとうございます。

4

2 に答える 2

1
select t.ColA, t.ColB
from t
order by t.ColA
   ,case when t.ColA = 0 then t.ColB end asc
   ,case when t.ColA = 1 then t.ColB end desc
于 2012-05-02T16:33:04.497 に答える
0
SELECT ColA,ColB
FROM table
ORDER BY 
 ColA, (CASE WHEN ColA = 1 THEN -1 * ColB ELSE ColB END)
于 2012-05-02T16:33:41.157 に答える