It's a twist on the problem of "How to get the MAX row" (DBA.SE link)
- get total and highest vertical per Company in a simple aggregate
- use these to identify the row in the source table
Something like this, untested
SELECT
t.Company, t.Vertical, m.CompanyCount
FROM
( --get total and highest vertical per Company
SELECT
COUNT(*) AS CompanyCount,
MAX(Vertical) AS CompanyMaxVertical,
Company
FROM MyTable
GROUP BY Company
) m
JOIN --back to get the row for that company with highest vertical
MyTable t ON m.Company = t.Company AND m.CompanyMaxVertical = t.Vertical
Edit: this is closer to standard SQL than a ROW_NUMBER because we don't know the platform