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

如何查询stats表中仅向单个供应商采购的非重复id_proj

场景说明

现有名为stats的数据表,包含三个字段:

  • id_seller:供应商ID
  • id_part:零件ID
  • id_proj:项目ID
查询需求

筛选出仅向唯一1家供应商采购的项目ID(id_proj),即对应项目不存在和除该供应商外的其他供应商的交易记录,示例场景下符合要求的返回结果为J6。

实现方案

如果你之前用COUNT子查询没有得到正确结果,大概率是没有去重统计供应商数量,正确查询语句如下:

SELECT id_proj
FROM stats
GROUP BY id_proj
HAVING COUNT(DISTINCT id_seller) = 1;

逻辑说明

  • 按id_proj对所有记录分组,每个分组对应一个项目的全部交易数据
  • 用COUNT(DISTINCT id_seller)统计每个项目关联的不同供应商数量,过滤出数量等于1的分组,即可得到仅向一家供应商采购的项目ID
  • 如果确认同一个项目和同一个供应商只会生成1条记录,可以去掉DISTINCT关键字,直接写COUNT(id_seller) = 1即可

如果需要同时输出该项目对应的唯一供应商ID,可以用如下语句:

SELECT id_proj, MIN(id_seller) AS exclusive_supplier
FROM stats
GROUP BY id_proj
HAVING COUNT(DISTINCT id_seller) = 1;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:06:13