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

如何查询BEAME表中未在FLEET表的VIN并统计重复项

解决方案

要同时实现筛选BEAME表中存在但FLEET表中不存在的VIN,以及保留分组统计重复项的逻辑,可以使用LEFT JOIN结合空值过滤的方式,具体SQL如下:

SELECT 
    b1.vin,
    COUNT(*) AS duplicate_count,
    -- 若同一VIN对应多个reg,可使用聚合函数指定取值,比如MAX(b1.reg)
    MAX(b1.reg) AS beame_reg
FROM beame AS b1
LEFT JOIN fleet AS f1
    ON b1.vin = f1.vin
WHERE f1.vin IS NULL
GROUP BY b1.vin

逻辑说明:

  • LEFT JOIN会保留beame表的所有记录,当fleet表中没有匹配的VIN时,f1.vin会返回NULL;
  • 通过WHERE f1.vin IS NULL过滤出仅存在于beame表的VIN;
  • GROUP BY b1.vin对每个唯一VIN分组,COUNT(*)统计该VIN在beame表中的重复次数;
  • 关于b1.reg:如果同一个VIN对应多条不同的reg记录,直接GROUP BY b1.vin时部分数据库(如MySQL仅在宽松模式下)会返回任意一条的reg,建议使用聚合函数(如MAX/MIN)明确指定取值规则。

另外补充:你原查询中的WHERE f1.vin IS NOT NULL是冗余的,因为INNER JOIN本身已经只返回两表匹配的记录,无需额外过滤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 03:47:13