что делать лучше, разбивать строку после выполнения запроса,
или делать .create_function?
select название from table выдает результат: ФИО, ФИО2 итак далее
Хочется поработать с полем, может как-то сгруппировать, но ведь до split это невозможно сделать, поэтому интересно best practice, чтобы обычно делают в таких ситуациях.
В смысле сгруппировать невозможно? Думаю стоит подтянуть sql. Логика должна быть простая - все, что можно выполнить в базе данных для получения результатов, на ней и выполняется. Дальше уже в коде работаешь с полученным результатом. Иначе как-то получается не даёшь логично, когда просто выгружаешь данные, а потом пишешь логику которую можно было бы на стороне сервера баз данных сделать.
Ну да невозможно, потому что данные не разбиты, как я написал в примере, Данные записаны через запятую
У тебя что-ли прям в поле данные через запятую записаны?
Да все верно именно так) Есть одно поле такое), все остальные нормальные). А в этом поле данные перечислены через запятую, поэтому я и стал думать какова практика решения таких проблем, и первое что пришло в голову, получить результат и только потом питоном разбивать как надо, но тогда не удастся применить группировку итак далее )
Можно использовать common table expression и разбить на уровне базы данных, но запрос будет немного сложнее чем простой select. Проще на уровне питона полученный результат разбить. Чисто логически, в то поле просится связь 'многие к многим'
А может попробовать .create_function удавалось применять ?
Не доводилось использовать, к сожалению не могу подсказать. Тут вопрос - не усложнит ли логику? И не проще ли 1 раз сплит использовать на результате?
Сплит питоном да уже сделал, просто теперь хотелось именно в скуле попробовать нахимичить, либо хотя бы с пользовательскими функциями, но пока опыта видимо не хватает применить, пользовательские обычно применяют для lower поля, в общем какие-то простые операции, с единичными по сути данными.
https://stackoverflow.com/questions/24258878/how-to-split-comma-separated-value-in-sqlite
гуглить умею этот вариант видел), фигня, расчитано на то что ты знаешь какое количество у тебя будет в строке.
ну вроде что-то получилось, видел это решение до этого, думал может проще есть что-то. в принципе запрос получился.
Оказывается был такой вариант GROUP_CONCAT может пригодиться кому)
Обсуждают сегодня