powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как дописать к получаемому значению цифру-номер итерации
11 сообщений из 11, страница 1 из 1
Как дописать к получаемому значению цифру-номер итерации
    #39247899
Prorokeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Нужна помощь в составлении запроса к БД. Есть запрос который возвращает инфу и нужно к ней дописать цифру-счетчик.
Пример запроса(сам запрос здоровый, но интересен именно этот кусок):
Код: plsql
1.
2.
3.
4.
5.
6.
SELECT 
a.value_4, 
GROUP_CONCAT(DISTINCT(CONCAT(b.val_2,':',c.val_3,':')) SEPARATOR ", ") as group 
FROM table_1 a 
LEFT JOIN table_2 b ON (a.val_1 = b.val_1) 
GROUP BY a.value_4 


сейчас возвращает значения в виде
Код: plsql
1.
2.
3.
"value_4";"val_2:val_3:, val_2:val_3:"; 
"value_4";"val_2:val_3:, val_2:val_3:"; 
...



а нужно после двоеточия дописывать к val_2[..] номер итерации, т.е.
Код: plsql
1.
2.
"value_4";"val_2:val_3:0, val_2:val_3:0"; 
"value_4";"val_2:val_3:0, val_2:val_3:1"; 



Пробовал перед select прописывать нечто вроде
SET @x:=0;
и потом внутри CONCAT(..., @x:=@x+1)
но получаю ошибку синтаксиса(((

Т.к. раньше глубоко в запросы к БД не влезал даже не знаю как правильно загуглить... Подскажите пожалуйста что дописать в код или как правильно загуглить это дело)
...
Рейтинг: 0 / 0
Как дописать к получаемому значению цифру-номер итерации
    #39247906
Prorokeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не смог найти как отредактировать первое сообщение(((
жирным + зеленым выделил то что нужно добавить:
"value_4";"val_2:val_3: 0 , val_2:val_3: 0 ";
"value_4";"val_2:val_3: 0 , val_2:val_3: 1 ";
...
Рейтинг: 0 / 0
Как дописать к получаемому значению цифру-номер итерации
    #39247935
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При чём тут номер итерации? где тут вообще итерации?
Как я понимаю, нужно просто пронумеровать записи (то ли все, то ли в группе), и полученный номер присоединить к значениям... так об этом цельный FAQ: Нумерация строк и другие вопросы про использование переменных написан, читайте...
...
Рейтинг: 0 / 0
Как дописать к получаемому значению цифру-номер итерации
    #39247966
Prorokeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
Спасибо за ответ. Согласен, сумбурно написал + опечатался аж несколько раз. Требуется пронумеровать поля в рамках одной записи. Т.е. в строке(записи) может быть несколько групп
val_2:val_3:0, val_2:val_3:1,val_2:val_3:2, ... val_2:val_3:N
И необходимо пронумеровать их в рамках одной записи с 0 до N. Во второй и последующих строках нумерация должна опять начинаться с нуля.
...
Рейтинг: 0 / 0
Как дописать к получаемому значению цифру-номер итерации
    #39247982
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProrokeusТ.е. в строке(записи) может быть несколько групп
val_2:val_3:0, val_2:val_3:1,val_2:val_3:2, ... val_2:val_3:N
И необходимо пронумеровать их в рамках одной записи с 0 до Nпользовательская функция спасёт отца русской демократии
...
Рейтинг: 0 / 0
Как дописать к получаемому значению цифру-номер итерации
    #39247993
Код: sql
1.
2.
3.
4.
SELECT 
a.value_4, @a:=-1,
GROUP_CONCAT(DISTINCT(CONCAT(b.val_2,':',c.val_3,':')), ":", @a:=@a+1 SEPARATOR ", ") as group 
...
...
Рейтинг: 0 / 0
Как дописать к получаемому значению цифру-номер итерации
    #39248013
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Громыхатель,

у ТСа в одном поле лежит массив "субзаписей"(превед нормализация), ему поможет только самопальная функция.
...
Рейтинг: 0 / 0
Как дописать к получаемому значению цифру-номер итерации
    #39248015
Prorokeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Громыхатель,

Попробовал Ваш вариант - теперь вместо
Код: sql
1.
"value_4";"val_2:val_3:, val_2:val_3:"; 


выдает
Код: sql
1.
"value_4";NULL"; 
...
Рейтинг: 0 / 0
Как дописать к получаемому значению цифру-номер итерации
    #39248018
Prorokeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

я с mysql знаком очень поверхностно на уровне запросов которые видны в phpmyadmin... можете пояснить по поводу функции - смотреть в сторону php или есть некие способы прям в запросе функции сооружать (дело в том что сейчас весь запрос используется в рамках сохраненного шаблона внутри админки cms для выгрузки инфы из бд в csv файл...).
...
Рейтинг: 0 / 0
Как дописать к получаемому значению цифру-номер итерации
    #39248055
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProrokeusТребуется пронумеровать поля в рамках одной записи. Т.е. в строке(записи) может быть несколько групп
val_2:val_3:0, val_2:val_3:1,val_2:val_3:2, ... val_2:val_3:N
И необходимо пронумеровать их в рамках одной записи с 0 до N. Во второй и последующих строках нумерация должна опять начинаться с нуля.Ну так вот и пронумеруй записи в подзапросе в рамках группы. Ссылка дана, она прямо для тебя (ну с той лишь разницей, что нумеруешь от нуля, это мелочи). А во внешнем запросе уже сгруппируй и собирай всю группу в одно значение, конкатенируя соотв. поля (не забудь дописать ORDER BY в параметрах GROUP_CONCAT).
...
Рейтинг: 0 / 0
Как дописать к получаемому значению цифру-номер итерации
    #39250261
Prorokeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

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


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