powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как выбрать уникальные значения из двух таблиц
4 сообщений из 4, страница 1 из 1
Как выбрать уникальные значения из двух таблиц
    #39801106
sql_junior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте уважаемые.

Помогите пожалуйста.

Есть две таблицы - "products" и "offers"

products

id | title | price
----------------------------
22 | Фонарь | 250
44 | Часы | 1200


offers

id | product_id | sales | articule
------------------------------------------------
88 | 22 | 345 | 0010A78
13 | 22 | 294 | 0010A84
34 | 44 | 12 | 0020F11


Пока недосягаемая для меня задача :

выбрать 20 популярных товаров, но они должны быть уникальны, т.е. не должны выбираться - например (фонарь - чёрный, красный, зелёный), это по сути один продукт, одна цена. Т.е. в выборке все products.title должны быть уникальны.

Я сделал такой код :

SELECT products.title, products.price, offers.sales

FROM products

INNER JOIN offers ON products.id = offers.product_id

ORDER BY offers.sales DESC LIMIT 20

но он повторяет некоторые позиции, из 20 строк, четыре одинаковые.

Всю голову сломал, не могу подобрать правильного решения.
...
Рейтинг: 0 / 0
Как выбрать уникальные значения из двух таблиц
    #39801118
Dmi_tri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй вот так:

Код: sql
1.
2.
3.
4.
5.
SELECT products.title, x.sales, products.price 
FROM products 
JOIN 
(SELECT product_id, MAX(sales) as sales FROM offers GROUP BY product_id) x 
ON products.id=x.product_id
...
Рейтинг: 0 / 0
Как выбрать уникальные значения из двух таблиц
    #39801247
sql_junior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное добрый человек !.

Вы мне очень помогли.

Пришлось немного допилить код под конкретную задачу.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SELECT products.title, products.price, x.sales  
 
FROM products 
			 JOIN
			  (
			  
				SELECT product_id, 
				
				MAX(sales) AS sales 
				
				FROM offers 
				
					GROUP BY product_id 
				
			  ) x ON x.product_id = products.id 
			  
			  
ORDER BY x.sales DESC LIMIT 20  



и получился такой результат :
...
Рейтинг: 0 / 0
Как выбрать уникальные значения из двух таблиц
    #39801248
sql_junior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это как раз то что надо : вывести 20 популярных товаров .
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как выбрать уникальные значения из двух таблиц
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]