SQL: выбрать максимальное значение для каждого уникального ключа?

Извини я'я не уверен, как сформулировать это, и яЯ действительно не очень хорошо с SQL. ДБ двигатель я SQL Server Compact. В настоящее время у меня есть этот запрос:

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

Что дает мне:

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

Теперь мне нужен только результат с максимальным количеством совпадений для каждого уникального значения Thread. Другими словами, этот второй ряд должен быть удален. Я'Я не уверен, как это осуществить.

[EDIT] Если это помогает, это альтернативная форма того же запроса:

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

[EDIT] Я закончил вносить изменения в схему, чтобы избежать этого, так как предложенные запросы выглядели довольно дорого. Спасибо за помощь.

Ответы на вопрос(3)

Ваш ответ на вопрос