Sql 使用其他列中的类似值创建分组列
我是SQL/T-SQL新手,如果有人能帮我解决这个问题,那就太好了 所以我有一个专栏:Sql 使用其他列中的类似值创建分组列,sql,tsql,Sql,Tsql,我是SQL/T-SQL新手,如果有人能帮我解决这个问题,那就太好了 所以我有一个专栏: RID 111 111 111 222 222 222 333 333 333 现在,我必须使用带有按组或按分区的t-sql行编号来生成以下结果: RID | No 111 | 1 111 | 1 111 | 1 222 | 2 222 | 2 222 | 2 333 | 3 333 | 3 333 | 3 多谢各位。祝您有愉快的一天:D您可以使用densed\u rank():
RID
111
111
111
222
222
222
333
333
333
现在,我必须使用带有按组或按分区的t-sql行编号来生成以下结果:
RID | No
111 | 1
111 | 1
111 | 1
222 | 2
222 | 2
222 | 2
333 | 3
333 | 3
333 | 3
多谢各位。祝您有愉快的一天:D您可以使用
densed\u rank()
:
您可以使用
densite\u rank()
:
你已经习惯了密级
select * ,dense_rank over (order by rid ) as No from t
你已经习惯了密级
select * ,dense_rank over (order by rid ) as No from t
densite\u RANK
函数将允许您根据RID
中的值对每一行进行排序。
请参见下面的模型:
DECLARE @TestTable table (RID INT)
INSERT INTO @TestTable
SELECT 111 UNION ALL
SELECT 111 UNION ALL
SELECT 111 UNION ALL
SELECT 222 UNION ALL
SELECT 222 UNION ALL
SELECT 222 UNION ALL
SELECT 333 UNION ALL
SELECT 333 UNION ALL
SELECT 333 UNION ALL
SELECT 333
SELECT
RID,
[No]=DENSE_RANK() over (order by RID)
FROM
@TestTable
densite\u RANK
函数将允许您根据RID
中的值对每一行进行排序。
请参见下面的模型:
DECLARE @TestTable table (RID INT)
INSERT INTO @TestTable
SELECT 111 UNION ALL
SELECT 111 UNION ALL
SELECT 111 UNION ALL
SELECT 222 UNION ALL
SELECT 222 UNION ALL
SELECT 222 UNION ALL
SELECT 333 UNION ALL
SELECT 333 UNION ALL
SELECT 333 UNION ALL
SELECT 333
SELECT
RID,
[No]=DENSE_RANK() over (order by RID)
FROM
@TestTable