|
|
|
| Всем привет, есть корзина.
Структура: id | idcart | idproduct | kol -> (id | номер корзины | номер продукта | количество определенного продукта)
Для каждого пользователя создается номер корзины (idcart), после чего пользователь добавляет товары в корзину. Каждый товар - это отдельная запись в таблице с id его корзины.
Хочу на основе этих данных, выводить популярные товары, т.е. нужно сделать выборку по полю idproduct таким образом, чтобы сначала выводились самые часто-встречающиеся id-продуктов, после чего, сделать сортировку по количеству этих продуктов. И в самом топе должны быть продукты, которые чаще всего заказывают, а среди этих часто-заказываемых наверху должны быть те, у которых количество больше).
Допустим, есть два товара, каждый из них заказан по 5 раз, но второй товар заказан в количестве на 1 больше, значит его надо выше.
Очень жду помощи, что-то я тут не соображу. Понимаю, что нужен count и group by, но вот как это всё собрать - не пойму.
Заранее спасибо! | |
|
|
|
|
|
|
|
для: grafen
(19.08.2011 в 10:38)
| | нужна таблица со статистикой самых частовстречающихся, количество заказанных, и тд
если такой таблицы нет, то "баста карапузы... кончилися танцы" ))
ее нужно создавать и для начала хотябы заполнить примерными данными, выгодными с точки зрения маркетологов | |
|
|
|
|
|
|
|
для: Valick
(19.08.2011 в 11:35)
| | Ну была бы такая таблица, тогда и вопросов бы не было)) Т.е. вообще нереально одними запросами выцепить нужную информацию? Хотя бы по одному полю (idproduct)... | |
|
|
|
|
|
|
|
для: grafen
(19.08.2011 в 11:53)
| | как вы собираетесь "выцепить" то чего нет? | |
|
|
|
|
|
|
|
для: grafen
(19.08.2011 в 10:38)
| | Можно начать отталкиваться от следующего запроса
SELECT
idproduct,
COUNT(idproduct) AS freq,
SUM(kol) AS total
FROM tbl
GROUP BY
idproduct
ORDER BY
freq DESC,
total DESC
|
| |
|
|
|