Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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_Sql Server - Fatal编程技术网

SQL:创建一个查询,其中列标识每个元组的值

SQL:创建一个查询,其中列标识每个元组的值,sql,sql-server,Sql,Sql Server,我一直在试图找到此SQL查询的解决方案: |A| |B| |Output| =========================== 1 A 1 1 A 1 1 B 2 1 C 3 2 C 1 2 D 2 2 F 3 2 H 4 3 D

我一直在试图找到此SQL查询的解决方案:

|A|   |B|      |Output|
===========================
1      A          1
1      A          1
1      B          2
1      C          3
2      C          1
2      D          2
2      F          3
2      H          4
3      D          1
3      D          1
3      I          2
如您所见,我想创建一个列(输出),用于标识每个(a,B)元组的出现情况,而不是计数或求和,而不删除重复出现的情况

你会怎么做?
提前感谢

查找SQL Server内置函数

SELECT * 
      ,DENSE_RANK() OVER (PARTITION BY [A] ORDER BY [B] ASC) AS [OutPut]
FROM TableName 

我想你想要的是
densite\u rank()


你可能对排名功能感兴趣:不明白,在B列a中有2次出现显示输出1,H作为1次出现显示4,请提供适当的公式。非常感谢,如果你不能正确地搜索你要查找的内容,很难用谷歌搜索或彻底搜索文档。我永远不会把我所做的描述为“排名”:)没问题,很高兴这有帮助:)
select t.*,
       dense_rank() over (partition by a order by b)
from table t;