Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用其他列中的类似值创建分组列_Sql_Tsql - Fatal编程技术网

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():

我是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()


您可以使用
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