hi
hope this helps !! 
Please click arrow to the left for Sample Data
drop create sample data
DROP TABLE #SiteInfo
GO
CREATE TABLE #SiteInfo
(
SiteId INT
,SiteName varchar(100)
, JobId INT
, Grade VARCHAR(5)
)
GO
INSERT INTO [#SiteInfo]
(
[SiteId]
, [SiteName]
, [JobId]
, [Grade]
)
VALUES
( 1 -- SiteId - int
, 'ok' -- SiteName - varchar(100)
, 123 -- JobId - int
, 'A' -- Grade - varchar(5)
)
INSERT INTO [#SiteInfo]
(
[SiteId]
, [SiteName]
, [JobId]
, [Grade]
)
VALUES
( 1 -- SiteId - int
, 'ok' -- SiteName - varchar(100)
, 234 -- JobId - int
, 'B' -- Grade - varchar(5)
)
INSERT INTO [#SiteInfo]
(
[SiteId]
, [SiteName]
, [JobId]
, [Grade]
)
VALUES
( 1 -- SiteId - int
, 'ok' -- SiteName - varchar(100)
, 234 -- JobId - int
, 'A' -- Grade - varchar(5)
)
INSERT INTO [#SiteInfo]
(
[SiteId]
, [SiteName]
, [JobId]
, [Grade]
)
VALUES
( 1 -- SiteId - int
, 'ok' -- SiteName - varchar(100)
, 123 -- JobId - int
, 'B' -- Grade - varchar(5)
)
GO
-----
INSERT INTO [#SiteInfo]
(
[SiteId]
, [SiteName]
, [JobId]
, [Grade]
)
VALUES
( 2 -- SiteId - int
, 'de' -- SiteName - varchar(100)
, 777 -- JobId - int
, 'A' -- Grade - varchar(5)
)
INSERT INTO [#SiteInfo]
(
[SiteId]
, [SiteName]
, [JobId]
, [Grade]
)
VALUES
( 2 -- SiteId - int
, 'de' -- SiteName - varchar(100)
, 111 -- JobId - int
, 'B' -- Grade - varchar(5)
)
INSERT INTO [#SiteInfo]
(
[SiteId]
, [SiteName]
, [JobId]
, [Grade]
)
VALUES
( 2 -- SiteId - int
, 'de' -- SiteName - varchar(100)
, 777 -- JobId - int
, 'A' -- Grade - varchar(5)
)
INSERT INTO [#SiteInfo]
(
[SiteId]
, [SiteName]
, [JobId]
, [Grade]
)
VALUES
( 2 -- SiteId - int
, 'de' -- SiteName - varchar(100)
, 87 -- JobId - int
, 'B' -- Grade - varchar(5)
)
GO
Please click arrow to the left for SQL
SQL
; WITH cte AS
(
select DISTINCT siteid,sitename, CAST(JobID AS VARCHAR) +Grade AS ok FROM #SiteInfo
) , cte_1 AS
(
SELECT siteid , sitename, COUNT(ok) AS cntok FROM cte GROUP BY siteid ,sitename
)
SELECT TOP 1 'SQL Output TOP 1 ', * FROM cte_1 ORDER BY cntok DESC
GO
