Sql server 每个记录的SQL Server计数不同

Sql server 每个记录的SQL Server计数不同,sql-server,windows,count,Sql Server,Windows,Count,我在SQL Server 2016中有一个表,其中有6列数字和第7列numCount,它需要是每个记录中6个值的唯一值数 像这样: Num1 Num2 Num3 Num4 Num5 Num6 numCount 10 11 10 12 10 11 3. 10 10 10 10 10 10 1. ... ... ... ... ... ... ... 您可以将交叉应用与CTE配合使用 范例 更新后的表 您可以按照与现有查询类似的方式,以略短于已接受答案的方式执行此操作: 更新t 设置numCount

我在SQL Server 2016中有一个表,其中有6列数字和第7列numCount,它需要是每个记录中6个值的唯一值数

像这样:

Num1 Num2 Num3 Num4 Num5 Num6 numCount 10 11 10 12 10 11 3. 10 10 10 10 10 10 1. ... ... ... ... ... ... ... 您可以将交叉应用与CTE配合使用

范例

更新后的表


您可以按照与现有查询类似的方式,以略短于已接受答案的方式执行此操作:

更新t 设置numCount= 选择countn 从…起 数值Num1、Num2、Num3、Num4、Num5、Num6 vN 来自表t;
很好,谢谢
;with cte as (
Select *
  From YourTable A
  Cross Apply ( Select cnt=count(Distinct value) 
                  From (values  (num1)
                               ,(num2)
                               ,(num3)
                               ,(num4)
                               ,(num5)
                               ,(num6)
                       )v(Value)
              )B
)
Update cte set numCount=cnt
Num1    Num2    Num3    Num4    Num5    Num6    numCount
10      11      10      12      10      11      3
10      10      10      10      10      10      1