首页 > 解决方案 > 在postgresql中加入三个表后如何计算总记录数?

问题描述

我有一个查询,它在执行后给我总共 12408 条记录,但我希望这给我总记录作为计数列

选择 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 来自投诉为 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 和 c.dept_code='PWDBnR' 和 c.server_time 在 '2018-09-03' 和 '2018-12-19' 之间

标签: postgresql

解决方案


最简单但不是很优雅的方法是:

select count(*)
from
( 
select 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'
)

推荐阅读