И как перенос запроса в функцию упрощает все?
Так что над выбираемыми данными нужно сделать некоторые манипуляции. И возможно их не уместить в один запрос. Получается несколько запросов над одними и теми же данными с одними и теми же параметрами. Только один запрос надо вернуть пользователю, а остальные внутренние для статистики.