Sql 寻找处理最多客户的代表

Sql 寻找处理最多客户的代表,sql,sql-server,Sql,Sql Server,我试图列出处理最多客户的代表。 我的查询返回: 每个代表的代表客户 胡安·佩雷斯3 理查德·胡尔4 瓦莱丽·凯瑟4 注:理查德和瓦莱丽是我想要的。它应显示为两条记录 如果你需要更多的细节,请告诉我 SELECT RTRIM(S.REP_FNAME) + ' ' + S.REP_LNAME AS [Representative], COUNT(C.REP_NUM) AS [Customer(s) Per Rep] FROM CUSTOMER C JOIN SALESREP S

我试图列出处理最多客户的代表。


我的查询返回:

每个代表的代表客户
胡安·佩雷斯3
理查德·胡尔4
瓦莱丽·凯瑟4

注:理查德和瓦莱丽是我想要的。它应显示为两条记录

如果你需要更多的细节,请告诉我

 SELECT RTRIM(S.REP_FNAME) + ' ' + S.REP_LNAME AS [Representative], COUNT(C.REP_NUM) AS [Customer(s) Per Rep]
 FROM CUSTOMER C
 JOIN SALESREP S 
   ON S.REP_NUM = C.REP_NUM
 GROUP BY RTRIM(S.REP_FNAME) + ' ' + S.REP_LNAME 
 HAVING COUNT(*) = (SELECT COUNTS FROM (SELECT TOP(1) REP_NUM, COUNT(REP_NUM) AS COUNTS GROUP BY REP_NUM ORDER BY COUNT(REP_NUM) DESC ))
或者您可以使用您给它起的名字:

ORDER BY[每位代表的客户]DESC

或者对于不太复杂的方法:

SELECT TOP(1) RTRIM(S.REP_FNAME) + ' ' + S.REP_LNAME AS [Representative], COUNT(C.REP_NUM) AS [Customer(s) Per    Rep]
FROM CUSTOMER C, SALESREP S 
WHERE S.REP_NUM = C.REP_NUM
GROUP BY RTRIM(S.REP_FNAME) + ' ' + S.REP_LNAME 
ORDER BY [Customer(s) Per Rep] DESC

你是说只有一个代表拥有最多的客户?我通过。。。必须是order
DESC
如果出现平局会发生什么?您的示例中有两个客户最多(Richard和Valerie)。你想如何处理领带?您是只想要一条记录,还是所有记录都按从多到少的顺序排列?你的问题缺少一些细节;现在还不清楚你想要得到什么样的结果。这是正确的@BhupeshCHow与我刚才做的有很大不同。它产生了相同的结果。反正是Thx!我必须将
DESC
添加到
orderby
,现在就试试。您必须设置订单,但我正在寻找处理大多数客户的代表,其中不应包括Juan Perez 3ok,他们将进行调整。你的问题不清楚,看起来你想让他们在大多数销售顺序,如果你只想最大,我会改变答案。
SELECT TOP(1) RTRIM(S.REP_FNAME) + ' ' + S.REP_LNAME AS [Representative], COUNT(C.REP_NUM) AS [Customer(s) Per    Rep]
FROM CUSTOMER C, SALESREP S 
WHERE S.REP_NUM = C.REP_NUM
GROUP BY RTRIM(S.REP_FNAME) + ' ' + S.REP_LNAME 
ORDER BY [Customer(s) Per Rep] DESC