Задать вопрос
@zevem
Стрелец

Как в mysql получить первые 20 строк по уникальному значению в столбце?

Есть таблица:
-------------------
id | product_id |
-------------------
1 | 111 |
-------------------
2 | 111 |
-------------------
3 | 112 |
-------------------
4 | 112 |
-------------------
5 | 112 |
-------------------
6 | 113 |
-------------------

Нужно получить строки для уникальных 20 товаров.
Т.е. строки с id 1 и 2 считается как один уникальный товар, соответствено 3,4,5 - это второй уникальный товар.

Задача получить строки для 20 уникальных товаров именно mysql запросом
  • Вопрос задан
  • 454 просмотра
Подписаться 1 Средний 5 комментариев
Помогут разобраться в теме Все курсы
  • Stepik
    PRO C#. Базы данных
    2 месяца
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
idShura
@idShura
select product_id from mytable group by product_id
Ответ написан
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
Ниже один из возможных способов:
select * 
from  myproducts 
  join (
	select distinct product_id 
	from myproducts 
	order by product_id 
	limit 20 -- количество уникальных товаров
  ) unique_products on unique_products.product_id = myproducts.product_id;


Здесь вы можете попробовать запрос SQL
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы