zagorisback
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Mavrikii Это работает, но время исполнения «запроса» очень высокое 317,496 second Без "string_agg (различный" Время исполнения - 3.157 second Код: SELECT movies.movieid, movies.title, movies."year", movies.imdbid, string_agg(distinct akatitles.language, ',' order by akatitles.language) as langs, string_agg(distinct akatitles.title, ',' order by akatitles.title) as aka, string_agg(distinct akatitles.addition, ',' order by akatitles.addition) as add FROM movies INNER JOIN akatitles ON movies.movieid = akatitles.movieid WHERE movies.title @@ plainto_tsquery('the exorcist 1973') group by movies.movieid, movies.title | Добавлено: Это работает очень хорошо, очень быстро, 3.179 second приблизительно Код: array_to_string(array_agg(distinct akatitles.language), ' , ') as lang, array_to_string(array_agg(distinct akatitles.title), ' , ') as aka, array_to_string(array_agg(distinct akatitles.addition), ' , ') as add | Я думаю, что другой «запрос» для ускорения исполнения нет Код, взятый отсюда и оптимизирован с distinct https://stackoverflow.com/questions/2560946/postgresql-group-concat-equivalent Код: SELECT movies.movieid, movies.title, movies."year", movies.imdbid, -- akatitles."language", -- akatitles.title AS aka, -- akatitles.addition array_to_string(array_agg(distinct akatitles.language), ' , ') as lang, array_to_string(array_agg(distinct akatitles.title), ' , ') as aka, array_to_string(array_agg(distinct akatitles.addition), ' , ') as add FROM movies INNER JOIN akatitles ON movies.movieid = akatitles.movieid WHERE movies.title @@ plainto_tsquery('the exorcist 1973') GROUP BY movies.movieid | Добавлено: Mavrikii Спасибо за помощь Добавлено: возвращаться, Что -то не так в запросе, данные, взятые из таблицы "akatitle", разные Запрос должен группироваться, но также ассоциироваться, table akatitle query |