कई तरीके हैं:
SELECT OfficeName, Total
FROM ( SELECT o.OfficeName, c.Total, MAX(Total) OVER() [MaxTotal]
FROM Offices o
LEFT JOIN
( SELECT OfficeID, COUNT(*) Total
FROM Customers
GROUP BY OfficeID
) c
ON o.OfficeID = c.OfficeID
WHERE o.ClusterID = 29
) c
WHERE Total = MaxTotal
या
WITH CTE AS
( SELECT o.OfficeName, c.Total
FROM Offices o
LEFT JOIN
( SELECT OfficeID, COUNT(*) Total
FROM Customers
GROUP BY OfficeID
) c
ON o.OfficeID = c.OfficeID
WHERE o.ClusterID = 29
)
SELECT *
FROM CTE
WHERE Total = (SELECT MAX(Total) FROM CTE)
या
SELECT TOP 1 o.OfficeName, c.Total
FROM Offices o
LEFT JOIN
( SELECT OfficeID, COUNT(*) Total
FROM Customers
GROUP BY OfficeID
) c
ON o.OfficeID = c.OfficeID
WHERE o.ClusterID = 29
ORDER BY Total DESC
हालाँकि TOP 1 का उपयोग करना वह नहीं हो सकता है जो आप चाहते हैं, अन्य विधियों के साथ यदि समान संख्या में ग्राहकों के साथ 2 कार्यालय हैं, तो वे दोनों वापस कर दिए जाएंगे, जबकि TOP 1 इनमें से केवल 1 लौटाएगा (शायद कार्यालय के नाम के क्रम में) . यदि आप केवल 1 रिकॉर्ड चाहते हैं, तो यह सबसे अच्छा तरीका है