Sql server mssqlmax函数

Sql server mssqlmax函数,sql-server,database,Sql Server,Database,有一个Customer表,其中CustomerId是主键,其中有StatusId列(以及对该问题不重要的其他列)。另外,还有另一个表,它有CustomerId列(以及其他列)。现在,我在一些旧存储过程中发现了以下代码: select max(StatusId) from Customer where CustomerId = AnotherTable.CustomerId 为什么在这里使用MAX函数有意义?我的理解是,因为CustomerId是主键,所以它是唯一的,如果您查找它,将始终返回一行

有一个Customer表,其中CustomerId是主键,其中有StatusId列(以及对该问题不重要的其他列)。另外,还有另一个表,它有CustomerId列(以及其他列)。现在,我在一些旧存储过程中发现了以下代码:

select max(StatusId) from Customer where CustomerId = AnotherTable.CustomerId

为什么在这里使用MAX函数有意义?我的理解是,因为CustomerId是主键,所以它是唯一的,如果您查找它,将始终返回一行。为什么要对这一行执行MAX()?

您显然没有提到整个代码,因为在
FROM
部分中没有提到“另一个表”


当有一个
groupby
不包括groupby条件中的
something
字段时,您通常会看到max(something),但开发人员确信存在唯一值,因此max()将返回它。

我猜这里缺少联接?statusId是同一个表或其他表的字段吗?请您输入架构、示例数据和所需的输出。@IAMRAJSHA在第一句话中:有一个Customer表…其中有statusId列这是唯一的查询吗?还是什么东西不见了?