Добрый день, следующий запрос является неверным, но написать правильно не получается [sql]SELECT MAX(SUM(total)) FROM my_table GROUP BY title[/sql] Подскажите пожалуйста
В общем нужно: находу просуммировать столбец total выявить максимальные числа просуммированного столбца в рамках 1 товара (поэтому у меня и GROUP BY). Эти строки и нужно получить отсортировав их по убыванию
У тебя ошибка в постановке задачи Вот это решение соответствует ей, но оно неправильное [sql]SELECT MAX(sumT) FROM (SELECT SUM(total) as sumT FROM my_table GROUP BY title ) as t;[/sql] В твоей формулировке у тебя две задачи [sql]SELECT SUM(total) FROM my_table GROUP BY title[/sql] Выведет тебе суммы в рамках одинаковых title. Она будет всегда 1на для конкретного товара и никаких MAX не будет. Если тебе нужно найти самый дорогой экземпляр товара, то нужен такой запрос [sql]SELECT MAX(total) FROM my_table GROUP BY title[/sql] Соответственно никаких SUM тут не будет. Поэтому, подумай и определись, что тебе нужно сделать?
Видимо я неправильно объяснил, смотри, у меня 3 группы товара к примеру: Клавиатура, мышь, монитор (в скобках сумма в руб) Клавиатура A4 Tech - 200 Клавиатура Apple - 250 Клавиатура BenQ - 300 Мышь - Logitech - 180 Мышь - Genius - 220 Мышь - Gembird - 250 Монитор Lg - 5000 Монитор Sansung - 6000 Монитор HP - 7000 Нужно каждую группу просуммировать (группа клавиатура = 750, мышь = 650, монитор = 18000) Теперь нужно отобразить общий результат: клавиатура = 750, мышь = 650, монитор = 18000 и отсортировать результат по убыванию (вначале будет группа монитор, потом клавиатура, и наконец мышь)
[sql]SELECT SUM(total) as T FROM my_table // сумма GROUP BY title // группировка по критерию ORDER BY T DESC // сортировка по убыванию по полю T[/sql]