SQL查询如何将相同的结果以增量键顺序单独分组

SQL查询如何将相同的结果以增量键顺序单独分组,sql,tsql,group-by,gaps-and-islands,dense-rank,Sql,Tsql,Group By,Gaps And Islands,Dense Rank,我有A列和B列。我需要按照以下方式对A列进行分组:根据B列中的值将2和3、5和6、8和9以及10组合在一起。A列始终为增量1至10。我在SQL中无法找到将5和6以及8和9和10分别分组的方法,因为它们具有相同的B值(1.4)。我想将增量A值分组在一起(5,6,8,9,10由于缺少7而不是增量)。谢谢你的帮助。谢谢 A B 1 1.0 2 1.1 3 1.1 4 1.3 5 1.4 6 1.4 7 1.45 8 1.4 9

我有A列和B列。我需要按照以下方式对A列进行分组:根据B列中的值将2和3、5和6、8和9以及10组合在一起。A列始终为增量1至10。我在SQL中无法找到将5和6以及8和9和10分别分组的方法,因为它们具有相同的B值(1.4)。我想将增量A值分组在一起(5,6,8,9,10由于缺少7而不是增量)。谢谢你的帮助。谢谢

A   B
1   1.0   
2   1.1  
3   1.1  
4   1.3  
5   1.4  
6   1.4  
7   1.45  
8   1.4  
9   1.4  
10  1.4  
这是一个类型问题,因为您不想只按
B
分组,您只想按相对于
a
的连续
B
分组

雷克斯测试仪:

返回:

+------+------+------+-----+
| minA | maxA |  B   | rnk |
+------+------+------+-----+
|    1 |    1 | 1.00 |   1 |
|    2 |    3 | 1.10 |   2 |
|    4 |    4 | 1.30 |   3 |
|    5 |    6 | 1.40 |   4 |
|    7 |    7 | 1.45 |   5 |
|    8 |   10 | 1.40 |   6 |
+------+------+------+-----+

转储到带有分组指示器的临时表中

插入到#诱惑(可乐、可乐、GroupCol)
选择一个,
B
案例
当A=1时,则为1
当A=2或A=3时,则为2
当A=4时,则为4
当A=5或A=6时,则为5
当A=7时,则为6
当A=8或A=9或A=10时,则为7
否则无效
以GroupCol结尾

从原始表格
中,请显示预期输出。A B 1.0 2-3 1.1 4 1.3 5-6 1.4 7 1.45 8-10 1。4@antbithia添加了
maxA
您的解决方案假设我们事先知道这些值。但是,应将其编码为适用于任何数据集。谢谢
+------+------+------+-----+
| minA | maxA |  B   | rnk |
+------+------+------+-----+
|    1 |    1 | 1.00 |   1 |
|    2 |    3 | 1.10 |   2 |
|    4 |    4 | 1.30 |   3 |
|    5 |    6 | 1.40 |   4 |
|    7 |    7 | 1.45 |   5 |
|    8 |   10 | 1.40 |   6 |
+------+------+------+-----+