Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Есть таблица товаров, надо сделать группировку по магазинам shop_id с чередованием / 1 сообщений из 1, страница 1 из 1
11.10.2017, 18:35
    #39534961
webprog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть таблица товаров, надо сделать группировку по магазинам shop_id с чередованием
Есть таблица товаров, надо сделать группировку по магазинам user_id с чередованием

Подскажите пожалуйста, идею
Есть таблица товаров goods товаров

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE IF NOT EXISTS `goods` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT, -- id товара
  `pid` int(11) unsigned NOT NULL DEFAULT '0', -- id группы типа велосипеды
  `name` varchar(250) NOT NULL DEFAULT '',  -- название товара
  `price` float(11,2) unsigned NOT NULL DEFAULT '0.00', -- цена
  `user_id` int(11) NOT NULL DEFAULT '0', -- id пользователя, добавившего товар
  `sort` int(4) DEFAULT '0', -- актуальность товара (цены), в общем дата подтверждения товара
  PRIMARY KEY (`id`),
  KEY `pid` (`pid`),
  KEY `user_id` (`user_id`)
);



--
-- Дамп данных таблицы `goods`
--

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
INSERT INTO `goods` (`id`, `pid`, `name`, `price`, `user_id`, `sort`) VALUES
(1, 2, 'Велосипед 1', 5.00, 2, 1),
(2, 3, 'Велосипед 2', 2.00, 1, 22),
(3, 2, 'Велосипед спортивный', 33.00, 1, 3),
(4, 3, 'Велосипед горный', 11.00, 2, 12),
(5, 3, 'Велосипед Hitachi', 5.00, 2, 5),
(6, 3, 'Велосипед AMG', 123.00, 2, 8),
(7, 2, 'Велосипед 22', 45.00, 3, 4),
(8, 3, 'Велосипед 33', 12.00, 3, 12),
(9, 3, 'Велосипед крутой', 5.00, 2, 8),
(10, 2, 'Велосипед детский', 2.00, 1, 2),
(11, 3, 'Велосипед складной', 33.00, 1, 4),
(12, 2, 'Велосипед горный 52', 11.00, 3, 89),
(13, 2, 'Велосипед Sony', 52.00, 2, 45),
(14, 3, 'Велосипед BMW', 12.00, 3, 38),
(15, 2, 'Велосипед BMX', 15.00, 3, 42),
(16, 2, 'Велосипед SPORT', 25.00, 2, 14),
(17, 3, 'Велосипед ABC', 48.00, 3, 24),
(18, 3, 'Велосипед Region', 47.00, 1, 34),
(19, 2, 'Велосипед Start', 13.00, 1, 19);



Нужно получить результат, группировки по user_id, с чередованием по max(sort) в каждой группе

Код: 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.
25.
id	pid	name			user_id	sort
1	2	Велосипед 1		2	1
10	2	Велосипед детский	1	2
7	2	Велосипед 22		3	4

5	3	Велосипед Hitachi	2	5
11	3	Велосипед складной	1	4
8	3	Велосипед 33		3	13

9	3	Велосипед крутой	2	8
3	2	Велосипед спортивный	1	3
17	3	Велосипед ABC		3	24

6	3	Велосипед AMG		2	10
19	2	Велосипед Start		1	19
15	2	Велосипед BMX		3	42

4	3	Велосипед горный	2	12
2	3	Велосипед 2		1	22
14	3	Велосипед BMW		3	38

16	2	Велосипед SPORt rr	2	14
18	3	Велосипед Region	1	34
12	2	Велосипед горный 52	3	89

13	2	Велосипед Sony		2	45

Типа выводим актуальные товары, с группировкой по каждому пользователю. Желательно получить решение. которое позволило бы делать на сайте пайджинацию.

Заранее благодарен за ваши подсказки.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Есть таблица товаров, надо сделать группировку по магазинам shop_id с чередованием / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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