braindbrigada
15.05.2014 - 19:40
Есть это, но считает не правильно
SELECT
s_purchases.product_id AS order_product_id,
SUM(s_purchases.price) AS totalprice,
s_purchases.product_name AS product_name,
COUNT(s_purchases.product_id) AS order_count,
s_products.url AS url,
s_images.filename AS image,
s_variants.price AS price
FROM s_purchases
LEFT JOIN s_products ON s_products.id = s_purchases.product_id
LEFT JOIN s_images ON s_images.product_id = s_products.id
LEFT JOIN s_variants ON s_variants.product_id = s_products.id
LEFT JOIN s_orders ON s_orders.id = s_purchases.order_id
WHERE s_orders.status=2
GROUP BY order_product_id ORDER BY order_count DESC LIMIT 10
Суть составить рейтинг 10-ти самых продаваемых товаров.
Должно выводить: текущую стоимость товара, количество продаж, общую сумму продаж, картинку, url и id
Kopipaster
15.05.2014 - 19:56
Ну и в чём запара?
SELECT
`текущую стоимость товара`, `количество продаж`, `картинку`, `url`, `id`
FROM `твоя таблица`
ORDER BY `количество продаж` DESC
LIMIT 10
Ну а в пыхе уже перемножишь `текущую стоимость товара`на `количество продаж`
и выведешь в цикле.
К чему усложнения в SQL запросе?
braindbrigada
15.05.2014 - 20:04
Цитата (Kopipaster @ 15.05.2014 - 15:56) |
Ну и в чём запара?
SELECT `текущую стоимость товара`, `количество продаж`, `картинку`, `url`, `id` FROM `твоя таблица` ORDER BY `количество продаж` DESC LIMIT 10
Ну а в пыхе уже перемножишь `текущую стоимость товара`на `количество продаж` и выведешь в цикле. К чему усложнения в SQL запросе? |
Если бы все в одной таблице было то да, но если внимательно посмотреть на мой запрос станет понятно, что данные из 5 таблиц.
Kopipaster
15.05.2014 - 20:13
Ну так одна или 10 какая разница принцип то тот же.
Или у тебя в принципе нет поля `количество продаж` ни в одной из 5 таблиц и надо это количество высчитывать?
braindbrigada
15.05.2014 - 20:13
текущая стоимость товара
s_variants.price AS price
LEFT JOIN s_variants ON s_variants.product_id = s_products.id
количество продаж - нужно посчитать в s_purchases.product_id с одинаковым product_id может быть несколько заказов (таблица с купленными товарами)
общую сумму продаж - нужно посчитать в s_purchases.price
картинку - в s_images
s_images.filename AS image
LEFT JOIN s_images ON s_images.product_id = s_products.id
урл - тут
s_products.url AS url
LEFT JOIN s_products ON s_products.id = s_purchases.product_id
ну и id
Игорь_Vasinsky
15.05.2014 - 20:14
в mysql группировка по альясу работает?
группируй по s_purchases.product_id
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
braindbrigada
15.05.2014 - 20:15
Проблема в общем то в подсчете количества продаж и общей суммы продаж.
braindbrigada
15.05.2014 - 20:16
Цитата (Игорь_Vasinsky @ 15.05.2014 - 16:14) |
в mysql группировка по альясу работает? группируй по s_purchases.product_id |
результат тот же.
Игорь_Vasinsky
15.05.2014 - 20:17
запрос то верно написан
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
braindbrigada
15.05.2014 - 20:20
Цитата (Игорь_Vasinsky @ 15.05.2014 - 16:17) |
запрос то верно написан |
это вопрос или утверждение? ))) тоже думал верно, но по факту получается, что считает все product_id потом меньше и меньше.
Игорь_Vasinsky
15.05.2014 - 20:21
Цитата |
COUNT(s_purchases.product_id) AS order_count, |
а почему не SUM
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
braindbrigada
15.05.2014 - 20:24
Цитата (Игорь_Vasinsky @ 15.05.2014 - 16:21) |
Цитата | COUNT(s_purchases.product_id) AS order_count, |
а почему не SUM
|
что получится есть три product_id равным 111 применив SUM получим 333... если есть пять product_id равным 123 получим 615 продаж
Игорь_Vasinsky
15.05.2014 - 20:34
аа. да меня s_purchases сбило с толку))
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
braindbrigada
15.05.2014 - 20:40
Игорь_Vasinsky на вас вся надежда!))) выручайте
Игорь_Vasinsky
15.05.2014 - 20:43
SELECT
s_purchases.product_id AS order_product_id,
SUM(s_purchases.price) AS totalprice,
s_purchases.product_name AS product_name,
COUNT(s_purchases.product_id) AS order_count,
FROM s_purchases
GROUP BY s_purchases.product_id ORDER BY SUM(s_purchases.price) DESC LIMIT 10
как посчитает?
только уточни что не так посчитал
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.