T-SQL计数就像字符串一样

时间:2017-10-02 14:00:23

标签: sql-server tsql

这是我尝试使用的select语句,我试图提取以“未知”开头的所有记录的计数,但我收到的语法错误不正确在计数的右括号附近。我怎样才能以这种方式使用计数?

SELECT DISTINCT [ID], COUNT(ID), COUNT([NAME] LIKE 'Unknown%')
FROM table.foo
GROUP BY [ID]

1 个答案:

答案 0 :(得分:4)

SELECT DISTINCT您不需要GROUP BY。只需使用CASE作为SUM()的参数:

SELECT ID, COUNT(ID), 
       SUM(CASE WHEN NAME LIKE 'Unknown%' THEN 1 ELSE 0 END)
FROM table.foo
GROUP BY ID;