You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计DISTINCT查询结果中各车辆类型的元素数量

问题解决方法

你之前组合使用DISTINCT和WHERE报错,核心原因是没有理清去重逻辑和统计逻辑的先后顺序,你要的是先对「车型+车牌」组合去重,再按车型分组统计数量,有两种可行的实现方案:

方案1:子查询嵌套(逻辑最直观,和你的需求顺序完全匹配)

先通过子查询拿到所有去重的「车型+车牌」记录,外层再按车型分组计数:

SELECT
  vehicle_type_name,
  COUNT(*) AS type_vehicle_count
FROM (
  -- 这部分就是你之前执行的去重查询
  SELECT DISTINCT vehicle_type_name, vehicle_plate_number
  FROM tbl_transactions
) AS unique_vehicle_list
GROUP BY vehicle_type_name;

方案2:单查询直接统计(性能更优,无需临时表)

直接用COUNT(DISTINCT)语法,在聚合的时候自动对车牌去重,一步得到结果:

SELECT
  vehicle_type_name,
  COUNT(DISTINCT vehicle_plate_number) AS type_vehicle_count
FROM tbl_transactions
GROUP BY vehicle_type_name;

两种方案的输出结果完全一致,都会返回每个车型对应的不重复车辆总数,包含2 Wheeler、4 Wheeler等所有存在的车型分类。

内容的提问来源于stack exchange,提问作者klaus21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:54:08