【问题标题】:how can i alternate between 0 and 1 values in sql server?如何在 sql server 中交替使用 0 和 1 值?
【发布时间】:2021-01-04 09:25:03
【问题描述】:

我想创建一个在 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

我想在我的表中保留相同的值,但我只想切换行以在 0 和 1 之间交替

【问题讨论】:

  • 这里的目的是什么?
  • @DervişKayımbaşıoğlu 这是之后的代码。你知道怎么做吗?

标签: sql sql-server tsql sql-order-by window-functions


【解决方案1】:

考虑:

select *
from mytable
order by row_number() over(partition by al order by id1), al

这会交替使用 01 值 - 如果组的行数不同,那么一旦最小的组用完,另一组中的所有剩余行都会出现在结果集的末尾。

我不确定您要使用哪一列来对每个组中的行进行排序 - 我假设为 id1,但您可能希望将其更改为您的实际要求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 2017-12-19
    • 2018-11-28
    相关资源
    最近更新 更多