powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / группировка значений в пределах группы записей
10 сообщений из 10, страница 1 из 1
группировка значений в пределах группы записей
    #38509292
bannndi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Подготовил файлик таблицей исходной и таблицей с желаемым результатом.

ссылка на xlsx файл: http://www.filedropper.com/table_4

Не получается сгруппировать по product_id , т.к. группировка срабатывает для всех записей таблицы.

Возможно ли сделать группировку в пределах группы записей с coming_id ? Чтобы в пределах записей с конкретным coming_id записи product_id не повторялись, но в разрезе разных coming_id - могли повторяться. Вроде задача не должна быть сложной, но подобного раньше не приходилось делать, и не получается - каждый раз группировка происходит не такая, как нужно...

По исходным данным:
coming_id - это приходная накладная

У spare_id - ( запчасти ) есть привязанные к ней возможные варианты product_id ( товары ). Они уже выбраны.

и spare_id, и product_id могут быть занесены в любую накладную произвольным кол-вом строк. Поэтому происходит так, что для одной запчасти соотвествуют разбитые на несколько строк товары

Цель такая, чтобы добиться вывода всех coming_id, в пределах которых должны быть выведены строки с запчастями, отличающимимя одним соотвествующим товаром. Запутанно, конечно. Возможно, по файлу во вложении будет проще понять, что нужно получиться..


Заранее благодарен за помощь!
...
Рейтинг: 0 / 0
группировка значений в пределах группы записей
    #38509323
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во блин... xlsx... на хрен знает каком сервере... совесть есть? да ещё в форуме по MySQL...
...
Рейтинг: 0 / 0
группировка значений в пределах группы записей
    #38509328
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bannndi,

Результат в xlsx можно получить так:

Код: sql
1.
2.
select distinct *
from your_table
...
Рейтинг: 0 / 0
группировка значений в пределах группы записей
    #38509357
bannndi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javajdbc
Спасибо большущее.. Облом в том, я знал про distinct, но не подумал что здесь он пригодится...
...
Рейтинг: 0 / 0
группировка значений в пределах группы записей
    #38509781
bannndi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение с "distinct *" работает, но очень медленно. В таблице всего 4000 ряда по 10 колонок, и обработка длится около 20 секунд.

Может быть есть лучше решение? Какие вообще варианты могут быть помимо "distinct *"?..
...
Рейтинг: 0 / 0
группировка значений в пределах группы записей
    #38509800
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так всё-таки - где данные? В Экселе? или в MySQL?
...
Рейтинг: 0 / 0
группировка значений в пределах группы записей
    #38509981
bannndi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

в mysql, конечно )

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

Раз уж зашел об этом разговор, - я не знаю, в каком виде здесь нужно постить исходные данные. Форматировать их в виде текста - не очень то, конвертировать в sql- тоже. Я подумал, что наглядно в готовой таблице будет гораздо понятнее, чем импортиртировать sql.
...
Рейтинг: 0 / 0
группировка значений в пределах группы записей
    #38510149
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bannndi я не знаю, в каком виде здесь нужно постить исходные данныеТег CSV весьма неплох...
...
Рейтинг: 0 / 0
группировка значений в пределах группы записей
    #38510161
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bannndiРешение с "distinct *" работает, но очень медленно. В таблице всего 4000 ряда по 10 колонок, и обработка длится около 20 секунд.

Может быть есть лучше решение? Какие вообще варианты могут быть помимо "distinct *"?..

попробуйте груп бау по ВСЕМ колонкам.
Нужен индекс хотябы по одной "разнообразной" колонке.

Почитайте что такое EXPLAIN и запостите его
для нескольких попробованых запросов.
...
Рейтинг: 0 / 0
группировка значений в пределах группы записей
    #38510291
bannndi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javajdbc,


Сделал индекс для первой колонки ( id прихода ), и теперь запрос отрабатывает менее чем за секунду. Поэксперементировал с составными индексами, но лучшего прироста не получил, разве что разница в -1 ряд между индексом для id прихода, и составным id прихода + id запчасти.

Не был уверен, что индекс поможет, т.к. таблица была с движком memory, но оказалось что очень даже помог )

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


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