在sql server中,如何在0和1值之间切换?
我想创建一个选择,它将在1和0之间交替 我的桌子看起来像那样在sql server中,如何在0和1值之间切换?,sql,sql-server,tsql,sql-order-by,window-functions,Sql,Sql Server,Tsql,Sql Order By,Window Functions,我想创建一个选择,它将在1和0之间交替 我的桌子看起来像那样 id1 id2 al 11 1 1 40 1 0 12 1 0 237 1 1 id1 id2 al 40 1 0 11 1 1 12 1 0 237 1 1 但我想让它变成那样 id1 id2 al 11 1 1 40 1
id1 id2 al
11 1 1
40 1 0
12 1 0
237 1 1
id1 id2 al
40 1 0
11 1 1
12 1 0
237 1 1
但我想让它变成那样
id1 id2 al
11 1 1
40 1 0
12 1 0
237 1 1
id1 id2 al
40 1 0
11 1 1
12 1 0
237 1 1
我想在表中保留相同的值,但我只想将行切换到0和1之间
select *
from mytable
order by row_number() over(partition by al order by id1), al
这将交替使用0
和1
值-如果两个组的行数不同,那么,一旦最小的组耗尽,另一个组中的所有剩余行将显示在结果集的末尾
我不确定您要使用哪一列对每个组中的行进行排序-我假设id1
,但您可能希望根据实际需要更改该列。考虑:
select *
from mytable
order by row_number() over(partition by al order by id1), al
这将交替使用0
和1
值-如果两个组的行数不同,那么,一旦最小的组耗尽,另一个组中的所有剩余行将显示在结果集的末尾
我不确定您希望使用哪一列来对每个组中的行进行排序-我假设
id1
,但您可能希望将其更改为您的实际需求。这里的目的是什么?@DervişKayımbaşıoğlu这是为了之后的代码。你知道怎么做吗?这里的目的是什么?@DervişKayımbaşıoğlu这是为了之后的代码。你知道怎么做吗?