Я работаю в SSMS v17.6, и мне нужно собрать 3 верхние строки для каждого уникального "ID" и "FRUIT" с самыми высокими значениями, как показано ниже.
ПРИМЕРНЫЕ ДАННЫЕ
ID FRUIT OTHER_ID VALUE
GG-1 APPLE 25432 100
GG-1 APPLE 37586 200
GG-1 APPLE 33614 400
GG-1 APPLE 70776 500
GG-1 APPLE 52102 600
GG-2 BANANA 33745 150
GG-2 BANANA 44823 250
GG-2 BANANA 88313 350
GG-2 BANANA 25181 450
GG-2 BANANA 65301 650
РЕЗУЛЬТАТ (топ 3)
ID FRUIT OTHER_ID VALUE
GG-1 APPLE 33614 400
GG-1 APPLE 70776 500
GG-1 APPLE 52102 600
GG-2 BANANA 88313 350
GG-2 BANANA 25181 450
GG-2 BANANA 65301 650
Данные не ограничиваются двумя фруктами и идентификаторами, отображаемыми в этом примере, но каждый фрукт имеет уникальный идентификатор. Я думаю, что это может быть сделано только на основе самого ID. На мой взгляд, SELECT TOP(n)
не будет работать и не будет Order By ... LIMIT n
Возможно, какая-то функция ранга сделала бы это, но я не уверен в необходимой здесь терминологии.