使用case when
例如:
SELECT
COUNT ( CASE WHEN risk_level IN ( '较高', '高' ) THEN 1 ELSE NULL END ) high,
COUNT ( CASE WHEN risk_level is not null THEN 1 ELSE NULL END ) Num
FROM
geohazard_all_english
WHERE
pipeline_id LIKE'管道%'
可以查询风险为较高、高或者风险字段不为空
查询结果:
SELECT
COUNT ( CASE WHEN risk_level IN ( '较高', '高' ) THEN 1 ELSE NULL END ) high,
COUNT ( CASE WHEN risk_level IN ( '较低', '低', '中', '中等', '较高', '高' ) THEN 1 ELSE NULL END ) Num
FROM
geohazard_all_english
WHERE
pipeline_id LIKE'管道%'