Top Group By DB2

Lo he intentado durante horas, pero no puedo hacer que la consulta haga lo que quiero con DB2. De la tabla Empresa y Usuarios tengo la siguiente información de cantidad de tickets por empresa / usuario

user         company      quantity
------------ ------------ ------------
mark         nissan       300
tom          toyota       50
steve        krysler      80
mark         ford         20
tom          toyota       120
jose         toyota       230
tom          nissan       145
steve        toyota       10
jose         krysler      35
steve        ford         100

Esto es generado por la consulta:

SELECT T.USER, COUNT(T.USER) AS QUANTITY, T.COMPANY FROM TICKET T
INNER JOIN COMPANY P ON P.COMPANY = T.COMPANY 
GROUP BY (T.USER, T.COMPANY) -- ORDER BY QUANTITY DESC

Lo que quiero ver es el usuario principal de cada empresa, por lo que, dada la información anterior, la consulta debería mostrarme:

user         company      quantity (Top user per company)
------------ ------------ --------------------------------
mark         nissan       300
jose         toyota       230
steve        ford         100
steve        krysler      80

¿Cómo puedo escribir el SQL para devolver este resultado?

Respuesta final (anotada en un comentario):

SELECT user, quantity, company
  FROM (SELECT user, quantity, company,
               RANK () OVER (PARTITION BY company ORDER BY quantity DESC) AS r
          FROM (SELECT T.USER, COUNT(T.USER) AS QUANTITY, T.COMPANY
                  FROM TICKET T JOIN COMPANY P ON P.COMPANY = T.COMPANY
                 GROUP BY (T.USER, T.COMPANY) ) s ) t
 WHERE r = 1;

Respuestas a la pregunta(2)

Su respuesta a la pregunta