powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / помогите создать запрос
15 сообщений из 15, страница 1 из 1
помогите создать запрос
    #39462822
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дана следующая таблица
ID|ST| SB
---------------------
1.| 1 |Математика
2.| 1 |Физика
3.| 2 |Физика
4.| 2 |Математика
5.| 3 |Математика
6.| 3 |История

Как сделать запрос чтобы получить след. результат

группа из ST | группа из SB
-----------------------------------------
1,2 | Математика, Физика
3 | История, Математика
----------------------------------

просто group_concat и group by не помогают, так как в одном случае может сгруппировать как "Математика, Физика"
, а для другого как "Физика, Математика"
...
Рейтинг: 0 / 0
помогите создать запрос
    #39462828
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картежник,

всем спасибо нашел. надо было просто внутрь функции GROUP_CONCAT добавить ORDER BY
...
Рейтинг: 0 / 0
помогите создать запрос
    #39462833
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картежникв одном случае может сгруппировать как "Математика, Физика"
, а для другого как "Физика, Математика"
Получится нечто вроде
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT GROUP_CONCAT(temp.st) `группа из ST`, temp.`группа из SB`
FROM (
SELECT `table`.st, GROUP_CONCAT(`table`.sb ORDER BY `table`.sb) `группа из SB`
FROM `table`
GROUP BY `table`.st
) temp
GROUP BY temp.`группа из SB`
...
Рейтинг: 0 / 0
помогите создать запрос
    #39462839
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
теперь другая проблема, вроде все строки одинаковые, а все равно не все объединяет. допустим из 10 одинаковых объединятся 9, а 1 отдельно лежит. хотя по строкам все одинаково
...
Рейтинг: 0 / 0
помогите создать запрос
    #39462844
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картежникдопустим из 10 одинаковых объединятся 9, а 1 отдельно лежит. хотя по строкам все одинаковоЗначит, неодинаково. Пробелы лишние неразрывные какие-нибудь или там переводы строки где-нибудь затесались...
...
Рейтинг: 0 / 0
помогите создать запрос
    #39462846
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaКартежникдопустим из 10 одинаковых объединятся 9, а 1 отдельно лежит. хотя по строкам все одинаковоЗначит, неодинаково. Пробелы лишние неразрывные какие-нибудь или там переводы строки где-нибудь затесались...

я скопировал обе строки в блокнот, и через поиск находится и другая.
...
Рейтинг: 0 / 0
помогите создать запрос
    #39462865
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картежникя скопировал обе строки в блокнот, и через поиск находится и другая.При чём тут блокнот? ВЫ хоть представляете, сколько при этом выполнено преобразований исходного значения?
Как я понимаю, проблема наблюдается для значений поля SB. Ну так выполните простейший запрос
Код: sql
1.
2.
3.
SELECT sb, COUNT(*) cnt
FROM `table`
GROUP BY sb


Если значения различаются - Вы это сразу увидите. Буду присутствовать две внешне идентичные по полю sb записи.
...
Рейтинг: 0 / 0
помогите создать запрос
    #39462964
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaКартежникя скопировал обе строки в блокнот, и через поиск находится и другая.При чём тут блокнот? ВЫ хоть представляете, сколько при этом выполнено преобразований исходного значения?
Как я понимаю, проблема наблюдается для значений поля SB. Ну так выполните простейший запрос
Код: sql
1.
2.
3.
SELECT sb, COUNT(*) cnt
FROM `table`
GROUP BY sb


Если значения различаются - Вы это сразу увидите. Буду присутствовать две внешне идентичные по полю sb записи.

У меня выходит примерно вот так
---------------------------------
1,2 | Математика, Физика
3 | История, Математика
4 | Математика, Физика

сравниваю "Математика, Физика" из обоих строк, они полностью идентичны.
...
Рейтинг: 0 / 0
помогите создать запрос
    #39463486
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще вопрос следующий
при слишком больших объемах не всегда срабатывает из за того что в строку группировки помещаются не все значения. в обычном режиме не через PHP решается через SET @@group_concat_max_len=какое то число;
но как сделать это в PHP?
...
Рейтинг: 0 / 0
помогите создать запрос
    #39463495
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картежникв обычном режиме не через PHP решается через SET @@group_concat_max_len=какое то число;Фууу... ради решения локальной проблемы изменять глобальные установки сервера - моветон. Изменяйте на уровне сессии.

Картежниккак сделать это в PHP?Установить необходимое значение параметра для сессии (соединения) - либо в его свойствах, либо отдельной командой в рамках этого соединения.
...
Рейтинг: 0 / 0
помогите создать запрос
    #39463513
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaКартежникв обычном режиме не через PHP решается через SET @@group_concat_max_len=какое то число;Фууу... ради решения локальной проблемы изменять глобальные установки сервера - моветон. Изменяйте на уровне сессии.

Картежниккак сделать это в PHP?Установить необходимое значение параметра для сессии (соединения) - либо в его свойствах, либо отдельной командой в рамках этого соединения.

можно пример?
...
Рейтинг: 0 / 0
помогите создать запрос
    #39463627
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
помогите создать запрос
    #39463717
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina https://dev.mysql.com/doc/refman/5.7/en/using-system-variables.html
ну это понятно. а PHP как сделать? там не получается
...
Рейтинг: 0 / 0
помогите создать запрос
    #39463786
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мануал прочитал? текст MySQL-запроса для установления требуемого значения нашёл? В MySQL работает нормально? Так теперь просто отошли текст этого запроса на сервер из PHP так же, как отсылаешь обычные запросы, которые не возвращают набор записей (INSERT/UPDATE/DELETE/DDL).
...
Рейтинг: 0 / 0
помогите создать запрос
    #39463917
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так после установления сразу получи значение переменной и убедись, что оно изменилось...
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / помогите создать запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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