私は、結合を使用してさまざまなランキング ソリューションを試してみましたが、すべてが必要なニーズに一致していました。
残念ながら、目的の出力を得るための正しいクエリを思い付くことができません。
この種のタスクで将来役立つ説明を得るために、私は本当に助けを求めています。
次の 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 の統一レコード番号付けは、次の方法で行う必要があります。最初にテーブルの最初のモデル (靴、ズボン、帽子)、次に最後のモデル、その後 - テーブルの 2 番目のモデル、最後から 2 番目のモデルなどがあります。 . 特定のタイプのモデルが枯渇した場合は、残りの他のタイプのモデルのみに番号を付けます。
目的の出力は次のとおりです。
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
並べ替えのアイデアをよりよく理解するために、目的の出力を更新しました (コード列を追加しました)。タイプの最初のコード化された数字(つまり、最も低いコード)が最初になり、タイプの最後のコード化された数字(つまり、最も高いコード)が2番目になり、次に最初にコード化された人が最初に、次に最後にコード化された人が残ります。や。。など。