-1

如何将我的热门查询限制为某条记录。

例子:

结果应该是直到 col2 的值为 b。

 ID     col1        col2
  7       1           a
  6       2           a
  5       1           a
  4       3           b
  3       1           a
  2       4           a
  1       1           b
4

1 回答 1

1

您可以使用ROW_NUMBER()窗口功能:

;WITH x AS
(
    SELECT col1, col2, ROW_NUMBER() OVER(ORDER BY id DESC) rn
    FROM Table1
)
SELECT col1, col2
FROM x x1
WHERE NOT EXISTS
(
    SELECT 1
    FROM x x2
    WHERE x2.rn <= x1.rn
    AND x2.col2 = 'b'
)

SQL小提琴

于 2013-08-16T02:52:39.747 回答