select where in group by

sql GROUP BY -- Достать результаты суммирования, в виде ассоциативного массива -- пример запроса

Forums:

Задача

Есть таблица Sale с полями id, amount, shop_id.
Нам нужно достать сумму сумм(amount), отдельно по каждому магазину(shop_id).
Как сделать это в одном sql-запросе?

Запрос

SELECT SUM(amount) FROM `sale` 
    WHERE shop_id IN (1,2,3,4,5)
    GROUP BY shop_id;

В результате мы получим массив, в котором ключами будут shop_id, а значениями - результат функции SUM() всех amount из строк с соответствующим shop_id.

Subscribe to RSS - select where in group by