SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 07.04.2015 18:35:00

nik3137
Участник
Зарегистрирован: 07.04.2015
Сообщений: 1

Составление запроса

Есть таблица со столбцами:
Продукт Магазин Период Продажи

Есть массив $products со списком продуктов

Нужно получить для каждого продукта:
$a = Количество магазинов где Период = 100
$b = Количество магазинов где Период = 100 и Продажи > 0
$c = $a / $b
$d = Сумма продаж (для всех магазинов) где Период = 100
$e = Сумма продаж (для всех продуктов и для всех магазинов) где Период = 100
$f = $d / $e

Получить все эти значения раздельными простыми запросами не составит труда, но тогда получится 4ех-кратная пробежка по базе данных. Как это можно сделать с минимальным количеством запросов и стоит ли это реализовывать через mysql или проще сделать средствами языка?

Неактивен

 

#2 07.04.2015 19:00:26

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Составление запроса

select count(*) as `$a`,  sum(if(`продажи`>0, 1,0)) as `$b`, sum(`продажи`) as `$d` from `таблица` where `Период` = 100 group by `продукт` with rollup;

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson