gpt4 book ai didi

sql - 所有可能的位组合

转载 作者:行者123 更新时间:2023-12-03 23:22:46 24 4
gpt4 key购买 nike

假设我有一张 table :

id      val
0 1
1 2
2 4

我正在寻找可以返回 val 的所有按位组合的 SQL列是可能的。因此,例如,从上表中,我预计以下可能的 val组合:
1  -- from original table id: 0
2 -- from original table id: 1
3 -- combination of id: 0 & 1
4 -- from original table id: 2
5 -- combination of id: 0 & 2
6 -- combination of id: 1 & 2
7 -- combination of id: 0 & 1 & 2

最佳答案

此查询仅返回 sum(val) 的所有组合,可能不是您要查找的内容 .如果您正在寻找按位 & 您应该使用 t.val & cur.val (感谢@Andrew Deighton)
(我没有创建 t 表,而是动态构建它。你不需要那个)

with t as
(select 0 as id, 1 as val union all
select 1 as id, 2 as val union all
select 2 as id, 4 as val ),
cur as
( select id, val from t union all
select t.id, t.val + cur.val from cur join t on cur.id>t.id)
select val
from cur
order by val

输出
val
1
2
3
4
5
6
7

如果您添加一条 val=8 的新记录,您将获得:
val
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

关于sql - 所有可能的位组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37681337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com