Группировка с условием

Периодически возникает задача, которая требует сгруппировать набор данных с условием, что для атрибутов, не участвующих в группировке, нужно взять кортеж с максимальным значением по одному из полей. Давайте рассмотрим простой пример. Есть таблица: CREATE TABLE IF NOT EXISTS shop ( id INT NOT NULL AUTO_INCREMENT, article INT (4) ZEROFILL NOT NULL, dealer VARCHAR (45) NOT NULL, price DECIMAL (8,2) NOT NULL, PRIMARY KEY (id)) ENGINE = InnoDB; Необходимо для всех article найти dealer с максимальной ценой. Для этой задачи существует несколько очевидных и простых решений, но я знаю одно из них, которое значительно превосходит все остальные. Сталкивались с этой задачей? Хотите увидеть новый способ ее решения? Прошу под кат.Читать дальше →

© Habrahabr.ru