テーブルの設定と序数セットに基づいて上の行のみを表示する必要がある場合があります。序数と属性データに基づいて上位n個のレコードを選択する
以下のデータセット例は、2人の顧客を示しています。顧客のそれぞれは異なる製品を持っています。 NumRowsToShow
は「1」なので、私は顧客ごとに1つの行(序数に基づいて一番上の行)を表示したいだけです。
| CustomerID | ProductID | Ordinal | NumRowsToShow |
+------------+-----------+---------+---------------+
| 1 |A |1 |1 |
| 1 |B |2 |1 |
| 1 |C |3 |1 |
| 5 |D |1 |1 |
| 5 |E |2 |1 |
| 5 |F |3 |1 |
クエリが実行された後、結果セットはNumRowsToShow
が得意5のために得意先1のための1と2だった場合、私のようなものを見るのと同じシナリオで
| CustomerID | ProductID |
+------------+-----------+
| 1 |A |
| 5 |D |
でなければなりません。クエリが実行された後、結果セットが
| CustomerID | ProductID |
+------------+-----------+
| 1 |A |
| 5 |D |
| 5 |E |
どのようにこれを行うことができますか?あるべき
| CustomerID | ProductID | Ordinal | NumRowsToShow |
+------------+-----------+---------+---------------+
| 1 |A |1 |1 |
| 1 |B |2 |1 |
| 1 |C |3 |1 |
| 5 |D |1 |2 |
| 5 |E |2 |2 |
| 5 |F |3 |2 |
実際の結果セットのスクリーンキャップを含めて、私がフィルタリングしようとしているもののハイライトが少し役立つかもしれません。
Screencap http://www.harpernet.net/se/cap01.jpg
し、顧客の行は1,2,3を言う(3異なる 'NumRowsToShow'を持っていたものならば)? –
それは起こりません。 NumRowsToShowは、CustomerIDごとに設定されています。それは同じだ。これは、いくつかのクエリの結果です。 Customer/ProductIDは実際の結果セットではありません。フィルタリングしようとしているものの簡単な例を提供しようとしています。 – sugarcrum