SQL: ¿Seleccionar el valor máximo para cada clave única?

Lo siento, no estoy seguro de cómo expresar eso y realmente no soy muy bueno con SQL. El motor db i SQL Server Compact. Actualmente tengo esta consulta:

SELECT *
FROM Samples
WHERE FunctionId NOT IN
(SELECT CalleeId FROM Callers)
ORDER BY ThreadId, HitCount DESC

Lo que me da:

ThreadId   Function  HitCount
       1        164      6945
       1       3817         1
       4       1328      7053

Ahora, solo quiero el resultado con el número máximo de aciertos para cada valor único de Hilo. En otras palabras, esa segunda fila debe ser eliminada. No estoy seguro de cómo lograr esto.

[EDITAR] Si ayuda, esta es una forma alternativa de la misma consulta:

SELECT *
FROM Samples s1
LEFT OUTER JOIN Callers c1
    ON s1.ThreadId = c1.ThreadId AND s1.FunctionId = c1.CalleeId
WHERE c1.ThreadId IS NULL
ORDER BY ThreadId

[EDITAR] Terminé haciendo cambios de esquema para evitar hacer esto, ya que las consultas sugeridas parecían bastante caras. Gracias por toda la ayuda.

Respuestas a la pregunta(3)

Su respuesta a la pregunta