[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка из таблици товаров по самому максимальному
fdr
Всем привет, нужна помощь.

Имеется следующая таблица товаров
Таблица: products

её колонки
products_id - идентификатор продукции
repairs_id - идентификатор запчасти
products_price - цена продукции
shops_id - магазин
shops_rating - рейтинг магазина

данные:


mysql> select * from products;
+
-------------+------------+----------------+----------+--------------+
| products_id | repairs_id | products_price | shops_id | shops_rating |
+-------------+------------+----------------+----------+--------------+
| 1 | 1 | 100 | 1 | 9 |
| 2 | 1 | 50 | 2 | 5 |
| 3 | 2 | 100 | 1 | 9 |
| 4 | 2 | 75 | 3 | 10 |
+-------------+------------+----------------+----------+--------------+
4 rows in set (0.00 sec)



Нужно выбрать товары тех магазинов у которых рейтинг выше всего, если рейтинг магазинов одинаков, выборку производить из магазинов у которых рейтинг выше всего и цена самая низкая на данный товар
хочу получить следующие

+-------------+------------+----------------+----------+--------------+
| products_id | repairs_id | products_price | shops_id | shops_rating |
+-------------+------------+----------------+----------+--------------+
| 1 | 1 | 100 | 1 | 9 |
| 4 | 2 | 75 | 3 | 10 |
+-------------+------------+----------------+----------+--------------+



Можно это как то организовать с помощью SQL запроса?
Есть следующий SQL код



mysql> SELECT
-> t1.products_id,
->
t1.repairs_id, t1.products_price,
->
t1.shops_id, t1.shops_rating
-> FROM
-> (SELECT repairs_id, MIN(products_price) AS products_price
-> FROM `products`
-> GROUP BY repairs_id
-> ) t2
-> JOIN
-> `products` t1 USING(repairs_id, products_price);
+
-------------+------------+----------------+----------+--------------+
| products_id | repairs_id | products_price | shops_id | shops_rating |
+-------------+------------+----------------+----------+--------------+
| 2 | 1 | 50 | 2 | 5 |
| 4 | 2 | 75 | 3 | 10 |
+-------------+------------+----------------+----------+--------------+
2 rows in set (0.00 sec)


Оно выбирает только те товары, у которых цена самая низкая, рейтинг магазинов не учитывается, нужно как то закрутить его)))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.