Отсортировать SQL запрос, имеющий groupBy

Итак, есть вот такой запрос:

SELECT `range`,brand_id,name
FROM BrandVariant
WHERE type = 2
GROUP BY brand_id
ORDER BY brand_id ASC

И вот такой ответ: введите сюда описание изображения

В бренда анхель есть несколько записей:

Грубо говоря
анехль1 => range 0,
анхель2 => range 1,
анхель3 => range 3

Как провести выборку данных, чтобы были выбраны ИМЕННО записи с самым малым range ?


Ответы (1 шт):

Автор решения: Merlin
SELECT *
  FROM (SELECT `range`,brand_id,name, row_number() OVER (PARTITION BY range,brand_id,name) AS rn 
          FROM BrandVariant
         WHERE type = 2)f1
 WHERE f1.rn=1  
 ORDER BY f1.brand_id ASC
→ Ссылка