我已经尝试了很多各种带有连接的排名解决方案,所有这些都可以满足我想要的需求。
可悲的是,我无法提出正确的查询来获得所需的输出。
我真的在寻找任何帮助来获得解释,以帮助我将来完成这些任务。
我有以下 CTE 表包含数据值集:
type model price code
Shoes 1298 700,00 1
Shoes 1298 950,00 6
Shoes 1298 1050,00 4
Shoes 1321 970,00 2
Shoes 1750 1200,00 3
Shoes 1752 1150,00 5
Pants 1121 850,00 2
Pants 1121 850,00 4
Pants 1121 850,00 5
Pants 1232 350,00 8
Pants 1232 350,00 9
Pants 1232 400,00 7
Pants 1232 600,00 1
Pants 1233 600,00 3
Pants 1233 950,00 6
Pants 1233 970,00 12
Pants 1233 980,00 11
Pants 1260 350,00 10
Hats 1276 400,00 1
Hats 1288 400,00 6
Hats 1401 150,00 4
Hats 1408 270,00 5
Hats 1433 270,00 2
Hats 1434 290,00 3
CTE的统一记录编号必须按以下方式进行:首先是表格的第一个模型(鞋子,裤子和帽子),然后是最后一个模型,然后 - 表格中的第二个模型,倒数第二个等. 在用尽特定类型的模型的情况下,仅编号其他类型的剩余模型。
这是所需的输出:
Id type model price code
1 Shoes 1298 700.0000 1
2 Pants 1232 600.0000 1
3 Hats 1276 400.0000 1
4 Shoes 1298 950.0000 6
5 Pants 1233 970.0000 12
6 Hats 1288 400.0000 6
7 Shoes 1321 970.0000 2
8 Pants 1121 850.0000 2
9 Hats 1433 270.0000 2
10 Shoes 1752 1150.0000 5
11 Pants 1233 980.0000 11
12 Hats 1408 270.0000 5
13 Shoes 1750 1200.0000 3
14 Pants 1233 600.0000 3
15 Hats 1434 290.0000 3
16 Shoes 1298 1050.0000 4
17 Pants 1260 350.0000 10
18 Hats 1401 150.0000 4
19 Pants 1121 850.0000 4
20 Pants 1232 350.0000 9
21 Pants 1121 850.0000 5
22 Pants 1232 350.0000 8
23 Pants 1233 950.0000 6
24 Pants 1232 400.0000 7
我已经更新了所需的输出(添加的代码列)以更好地理解排序的想法。它必须以交错的方式完成,首先编码类型的数字(即最低代码)然后是类型的最后编码数字(即最高代码)其次,然后首先编码谁的左边先,然后最后一个编码的人离开等等。