使用case when

例如:

  1. SELECT
  2. COUNT ( CASE WHEN risk_level IN ( '较高', '高' ) THEN 1 ELSE NULL END ) high,
  3. COUNT ( CASE WHEN risk_level is not null THEN 1 ELSE NULL END ) Num
  4. FROM
  5. geohazard_all_english
  6. WHERE
  7. pipeline_id LIKE'管道%'

可以查询风险为较高、高或者风险字段不为空
查询结果:
image.png

  1. SELECT
  2. COUNT ( CASE WHEN risk_level IN ( '较高', '高' ) THEN 1 ELSE NULL END ) high,
  3. COUNT ( CASE WHEN risk_level IN ( '较低', '低', '中', '中等', '较高', '高' ) THEN 1 ELSE NULL END ) Num
  4. FROM
  5. geohazard_all_english
  6. WHERE
  7. pipeline_id LIKE'管道%'