Order, group и Sum

Webage

Новичок
Здравствуйте, случайно возникла проблема:)
Имеется база данных с колонками id, item_id, part, p1, p2, p3

Данные примерно такие
1 | 23 | 9 | 1 | 10 | 2
2 | 21 | 9 | 3 | 12 | 1
3 | 22 | 9 | 6 | 10 | 6
4 | 27 | 9 | 2 | 14 | 8
5 | 23 | 7 | 1 | 10 | 4

До сегодняшнего дня все было отлично и я не замечал, что если у меня партия (part) одна то все отлично выводиться и сортируется по условиям которые мне необходимы. Когда возникает необходимость вывести товар из нескольких партий в запрос добавляется IN и перечисляются номера партий, но в этом случае данные по одинаковым товарам не ссумируются. Из данных которые указанны выше выведется только один товар item_id 23 и id 1, а id 5 учтён не будет.
Если использовать group, то как потом сортировать выдачу?
И ещё в некоторых выдачах используются суммы из нескольких столбцов, как тут быть с группировкой и выводом данных.
Думаю решение не очень сложное, но сходу не смог придумать.
 

AnrDaemon

Продвинутый новичок
Не надо ничего придумывать, надо прочитать документацию.
 

Webage

Новичок
Очень расстроился и думал не будет уже такого ответа от бывалого:)

Предложение для администрации форума, прикрутите бота к чату, который будет отвечать на любое сообщение: Кури мануал или а в FAQ пытался заглянуть. Реально посещаемость и лояльность к форуму увеличиться:):)
 

AnrDaemon

Продвинутый новичок
Простите, а какого ответа вы хотели, не приведя ни строчки кода?…
 

Webage

Новичок
если только в отсутствие запроса проблема то сейчас он такой
PHP:
SELECT *,(`p1`+`p2`) AS `p_summ` FROM `items_list` WHERE `part` IN (9, 7)  ORDER by `p_summ` DESC, `p3` DESC
Сейчас выводиться 23 id со значениями p_summ = 11, хотя 23 id есть еще в part 7 и эти значения должны суммироваться и у 23 id p_summ = 22 должен быть
 

AnrDaemon

Продвинутый новичок
Таким запросом ты ничего не получишь.
Запрос на список и запрос на аггрегацию - это два запроса в любом случае.
 
Сверху