SQL:如何计算唯一记录的数量?

SQL: How do you count the number of unique records?

我是 SQL 的新手,如果之前有人问过这个问题,我很抱歉 - 我无法正确表达。

假设我有一个 table 看起来像这样:

Name    Call ID
Sally   1
Sally   2
Sally   3
Mike    4
Mike    5
Bob     6
Bob     7

我想创建一个新的 table,如下所示:

Name    No. of calls
Sally   3
Mike    2
Bob     2

尝试

我假设我会做类似的事情:

SELECT 
Name, 
COUNT(distinct Name) AS No. of Calls 
FROM Table

谢谢。

您只需将它们分组即可。

SELECT
     Name
     COUNT(*) AS [No. of Calls]
FROM
     Table
GROUP BY
     Name

您正在寻找 GROUP BY:

SELECT Name, COUNT(*) AS 'No. of Calls' 
FROM Table
GROUP BY NAME
ORDER BY COUNT(*) DESC