大概思路是:
1.首先查出要统计的数据总数;
2.再查出总的数据;
3.将查出的数据作为字段取出,设置要查询的字段;
SELECT a.catch_point_id,a.catch_point_desc,a.laneno,(a.noplate_num/b.total)*100 AS per FROM
(SELECT catch_point_id,laneno,catch_point_desc
,COUNT(*) AS noplate_num FROM vehicel_catch_records WHERE catch_time BETWEEN '2019-09-03 21:00:00'
AND '2019-09-04 05:00:00' AND plateno = '无车牌' GROUP BY catch_point_id,laneno) a,
(SELECT catch_point_id,laneno,catch_point_desc
,COUNT(*) total FROM vehicel_catch_records WHERE catch_time BETWEEN '2019-09-03 21:00:00'
AND '2019-09-04 05:00:00' GROUP BY catch_point_id,laneno) b
WHERE a.catch_point_id = b.catch_point_id AND a.laneno = b.laneno;