我有一种情况,我需要根据表中的设置和序数集仅显示顶行。
下面的示例数据集显示了两个客户;每个客户都有不同的产品。由于NumRowsToShow是“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              |
查询运行后的结果集应该是
| CustomerID | ProductID |
+------------+-----------+
| 1          |A          |
| 5          |D          |
在相同的场景中,如果NumRowsToShowcustomerID 1 为 1,CustomerID 5 为 2,我会看到类似的东西。
| 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              |
查询运行后的结果集应该是
| CustomerID | ProductID |
+------------+-----------+
| 1          |A          |
| 5          |D          |
| 5          |E          |
如何才能做到这一点?
包括一个实际结果集的屏幕截图,其中包含我试图过滤的内容的亮点,这可能会有所帮助。

(来源:harpernet.net)