【发布时间】:2017-04-19 17:08:56
【问题描述】:
请帮助我找出一种从数据集中获取每个组的第一个数字 id 的方法,如果该 ID 尚未被使用...我什至不知道如何解释它,所以我会解释下来这里:
身份证 | Col1 | Col2 |价值 |数字 ------+--------+------+----------+------- 17525 |一个 |乙| 1086.00 | 1 17525 |一个 |乙| 1086.00 | 2 17525 |一个 |乙| 1086.00 | 3 17526 |一个 |乙| 1378.00 | 1 17526 |一个 |乙| 1378.00 | 2 17526 |一个 |乙| 1378.00 | 3 17527 |一个 |乙| 1498.00 | 1 17527 |一个 |乙| 1498.00 | 2 17527 |一个 |乙| 1498.00 | 3我想得到这样的东西: 对于每个 Id 或值(无关紧要,相等),FIRST 数字,在 FIRST 已经从其他组中获取之后。
类似这样的:
身份证 | Col1 | Col2 |价值 |数字 ------+--------+------+----------+------- 17525 |一个 |乙| 1086.00 | 1 17526 |一个 |乙| 1378.00 | 2 17527 |一个 |乙| 1498.00 | 3因此,对于第一个值 1086.00,我将采用数字 1,对于第二个值 1378.00,我将采用数字 2,因为 1 已经成为第一个值。
我尝试了 3 个小时,使用 ROW_NUMBER,不起作用,Recursion CTE 无法通过 Max Recursion Limit 100 错误。
请帮忙!
谢谢。
【问题讨论】:
标签: sql sql-server group-by sql-server-2008-r2 common-table-expression