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

SQL查询:如何查找仅销售单一车型的汽车经销商

实现仅销售单一车型经销商的查询方案

你现有的GROUP BY dealership写法不符合SQL规范,非分组字段、非聚合字段不能直接放在SELECT后,逻辑上也拿不到你需要的结果。

核心实现逻辑

按经销商分组后,统计每个经销商的去重车型数量,筛选出数量等于1的分组即可。

方案1:仅查询符合条件的经销商+对应的单一车型

SELECT dealership, MAX(type) AS sold_only_type
FROM car
GROUP BY dealership
HAVING COUNT(DISTINCT type) = 1;

这里用MAX(type)是因为符合条件的分组只有唯一一种车型,用MAX/MIN都可以准确拿到该车型值。

方案2:查询符合条件的经销商下所有车辆的完整信息

如果需要拿到对应经销商下所有车辆的carid、engine等明细字段,可以用子查询关联实现:

SELECT t1.*
FROM car t1
JOIN (
    SELECT dealership
    FROM car
    GROUP BY dealership
    HAVING COUNT(DISTINCT type) = 1
) t2 ON t1.dealership = t2.dealership;

原有思路问题说明

  • 同时按dealership和type分组时,多车型经销商会返回多条记录,没有经过聚合统计就没法直接筛选出仅单车型的经销商
  • 分车型加HAVING条件再UNION的方式,会把所有售卖过对应车型的经销商都返回,无法过滤掉同时售卖其他车型的经销商,所以不符合要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:42:03