Вы можете решить эту проблему, используя оконные функции.Например, если вы хотите, чтобы ваши первые столбцы были подсчетом общего количества строк, выполненных оператором SELECT
:
select count(1) over(range between unbounded preceding and unbounded following) as total_row_count
, c.complaint_id,c.server_time,c.completion_date,c.road_id,c.photo,c.dept_code,c.dist_code,c.eng_userid,c.feedback_type,c.status,p.dist_name,p.road_name,p.road_dept,e.display_name,e.mobile from complaints as c INNER JOIN pwd_roads as p ON p.road_id=c.road_id INNER JOIN enc_details as e ON CAST(e.enc_code as INTEGER) = p.enccode where c.complaint_id=c.parent_complaint_id and c.dept_code='PWDBnR' and c.server_time between '2018-09-03' and '2018-12-19'
Обратите внимание, что оконная функция вычисляется перед предложением LIMIT
, если оноиспользуется, поэтому, если вы добавите LIMIT 100
к запросу, он может дать число строк больше 100, даже если будет возвращено максимум 100 строк.