|
Вывести по 3 товара из каждой категории
|
|||
---|---|---|---|
#18+
Привет! Есть таблица товаров. Каждый товар относится к какой-то категории. Требуется вывести "ленту товаров" из каждой категории. Всего по 3 последних товара. Например: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Количество товаров в одной категории может быть в любом количестве. И кол-во категорий неограничено. Загвоздка в том, что сгруппировать все одним запросом не получается и LIMIT нельзя использовать в IN(). Ищу оптимальный способ для вывода, чтобы не плодить SQL-запросы. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2008, 14:57 |
|
Вывести по 3 товара из каждой категории
|
|||
---|---|---|---|
#18+
Нельзя ли поподробнее, какие поля в таблице, что есть, и что должно получиться? С небольшим примером ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2008, 15:00 |
|
Вывести по 3 товара из каждой категории
|
|||
---|---|---|---|
#18+
Упрощенно... Код: plaintext 1. 2. 3. 4.
Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Код: plaintext 1.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Количество категорий неограниченно. Количество "товаров" в категориях тоже неограниченно. Нужно вывести по 3 "товара" (не более 3х) из каждой категории: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2008, 21:39 |
|
Вывести по 3 товара из каждой категории
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2008, 22:19 |
|
Вывести по 3 товара из каждой категории
|
|||
---|---|---|---|
#18+
xelaok Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
...ордер бай, не забываем, не забываем (С) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2008, 23:27 |
|
Вывести по 3 товара из каждой категории
|
|||
---|---|---|---|
#18+
Спасибо! Отлично :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 10:44 |
|
Вывести по 3 товара из каждой категории
|
|||
---|---|---|---|
#18+
Здравствуйте! У меня похожая проблема. По поиску в форуме показалась наиболее подходящая тема. Нужно вывести по 5 последних книг из категорий книжного каталога. Дополнительно требуется указать количество книг в каждой категории. Единственное отличие от приведенного примера ТС выше - наличие таблицы категорий: Код: plaintext 1. 2. 3. 4.
Приведенное решение xelaok боюсь будет грузить MySQL на больших таблицах. Может существует другое решение? Подскажите плиз, кто сталкивался с таким. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2009, 17:33 |
|
Вывести по 3 товара из каждой категории
|
|||
---|---|---|---|
#18+
Piratenergy, нет, лучше способа нет. немного больше подробностей здесь: http://www.sql.ru/forum/actualthread.aspx?tid=684431 Если будет тяжело на больших таблицах -- замерть и приходите с експлейнами. Варианты всегда есть, но без конкретности с вашей стороны обсуждать из не имеет смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2009, 00:18 |
|
Вывести по 3 товара из каждой категории
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Насчет ORDER BY точно подмечено. Добавил его в запрос. Он обязательно нужен, т.к. счетчик который хранится в @k будет "обнулятся" когда в записи категория не равна предыдущей категории. То есть если в таблице бренды чередуются (а не отсортированы как в примере ТС) то запрос вернет ноль записей. С ORDER BY `category` будет возвращать ожидаемый результат :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2019, 19:08 |
|
Вывести по 3 товара из каждой категории
|
|||
---|---|---|---|
#18+
А вообще я не могу понять для чего вот эта часть запроса: Код: sql 1.
Без него тоже "ок" вроде. Или? ) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2019, 19:48 |
|
|
start [/forum/topic.php?fid=47&msg=35405825&tid=1829078]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
83ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 179ms |
0 / 0 |