1

困っていますので、早急な回答が必要です。

奇数と偶数のみを含む列があるテーブルがあります。

orderByColumn最初に奇数を含む行のみを選択し、次にその結果を「偶数クエリ」に追加したい

私のテーブルはこんな感じ

col1   col2   orderByColumn  col4
...................................
 c       c         44          c
 c       c         45          c
 c       c         46          c
...................................
...................................

私は私がこのように見えると思う組合を作るべきだと思います:

select * from myTable 
where [orderByColumn] % 2 = 0  --order by [orderByColumn]-->error

UNION

select * from myTable 
where [orderByColumn] % 2 > 0  order by [orderByColumn] 

クエリは2つの選択を結合しますが、明らかに、それらはマージされorderByColumn 、私が望まない順序になっています。

結果を次のようにしたいと思います。

c c 44 c
c c 46 c
c c 48 c
........
c c 45 c
c c 47 c
c c 49 c
........

何か案は ?ありがとうございました:)

4

3 に答える 3

7

最初に偶数に対してこれを試してください:

select *
from myTable
order by [orderByColumn]%2, orderbycolumn

desc最初に奇数が必要な場合に使用します。

于 2013-01-10T17:25:54.320 に答える
1

次のように、並べ替え値を含む列を導入することもできます

    select *, 
    case when [orderByColumn]%2=0 then 0 else 1 end as isOdd
    from myTable 
    order by 
    isodd , orderbyColumn
于 2013-01-10T19:42:24.053 に答える
0

これを試して

select 
   OrderByColumn 
from 
   table 
where 
  mod(OrderByColumn,2) = 0 

union all 

select 
   OrderByColumn 
from 
   table 
where 
    mod(OrderByColumn,2) >0
于 2013-01-10T18:08:37.683 に答える