2

私は、結合を使用してさまざまなランキング ソリューションを試してみましたが、すべてが必要なニーズに一致していました。

残念ながら、目的の出力を得るための正しいクエリを思い付くことができません。

この種のタスクで将来役立つ説明を得るために、私は本当に助けを求めています。

次の 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番目になり、次に最初にコード化された人が最初に、次に最後にコード化された人が残ります。や。。など。

4

3 に答える 3