MySQL GROUP BY вычесть результаты

Lok105

Новичок
Добрый день! Кому не сложно подскажите плиз... Есть таблица:

id Товар Идентификатор Кол-во
1 Товар 1 1 10
2 Товар 1 1 10
3 Товар 1 2 7

есть запрос "SELECT Товар, Идентификатор, SUM(Кол-во) as total FROM table GROUP BY Товар, Идентификатор"

Выдает результат:

Товар 1 - 20 (с идентификатором 1)
Товар 1 - 7 (с идентификатором 2)
Возможно в этом же запросе получить Разницу между кол-вом товара с идентификатором 1 и идентификатором 2?

т.е. Должно получиться

Товар 1 - 13

Спасибо!
 

AnrDaemon

Продвинутый новичок
Группируй по идентификатору. Очевидно же, не?
 

Lok105

Новичок
Я ниже показал, что сгруппировал, а вот как в этом же запросе вычесть одну группу из другой?
 

WMix

герр M:)ller
Партнер клуба
Я ниже показал, что сгруппировал, а вот как в этом же запросе вычесть одну группу из другой?
разница это сумма с где одно из слагаемых имеет знак минус.
Группируй по идентификатору Товар. Очевидно же, не?
и добавляй правило которое в зваисимости от Идентификатор дает отрицательное Кол-во
 

Lok105

Новичок
Спасибище! тонко и не навязчиво )))) получилось

"SELECT Товар, Идентификатор, SUM(IF(Идентификатор = '2', -Кол-во, Кол-во)) as total FROM table GROUP BY Товар"

Так ведь?
 
Сверху