Sql 查询以获取同一表中customerID列的每个唯一值的表的最大主键ID

Sql 查询以获取同一表中customerID列的每个唯一值的表的最大主键ID,sql,sql-server,Sql,Sql Server,我正在尝试运行一个查询,该查询获取VendorId列中每个唯一值的最大QuestionnaireId值 例如,从这个表中: QuestionnaireId VendorId 1 10003 2 10004 3 10004 4 10006 5 10005 6 10007 7 10005 8

我正在尝试运行一个查询,该查询获取VendorId列中每个唯一值的最大QuestionnaireId值

例如,从这个表中:

QuestionnaireId  VendorId
1                10003
2                10004
3                10004
4                10006
5                10005
6                10007
7                10005
8                10005
我将获得:

QuestionnaireId  VendorId
1                10003
3                10004
8                10005
4                10006
6                10007
我使用下面的代码来获取最大的QuestionnaireId,但是需要另外一条语句来获得唯一的VendorId。请注意,我包含的语句只是将所有表合并为一个表的大型联接函数的最后一段

WHERE Questionnaire.QuestionnaireId = (SELECT MAX(Questionnaire.QuestionnaireId) FROM Questionnaire)
只需使用聚合:

select max(q.QuestionnaireId) as QuestionnaireId, VendorId
from Questionnaire
group by VendorId;

谢谢我的朋友:)