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 回答