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

如何通过原生SQL筛选曾全部指定产品有库存的店铺?

解决方案:用原生SQL筛选曾经全量拥有指定产品库存的店铺

当然可以用原生SQL搞定这个需求,完全不用导出到Excel折腾!咱们直接针对你的需求来写查询:

核心思路

你需要找出曾经分别拥有Product1到Product5全部产品库存的店铺,关键是确认每个店铺都有过这5个产品的Stocked=TRUE记录(不管是不是同一时间点)。

完整SQL语句

假设你的表名为inventory_checks,替换成你实际的表名即可:

SELECT 
    Shop,
    TRUE AS Stocked
FROM 
    inventory_checks
WHERE 
    -- 限定只检查指定的5个产品
    Product IN ('Product1', 'Product2', 'Product3', 'Product4', 'Product5')
    -- 只统计曾经有库存的记录
    AND Stocked = TRUE
GROUP BY 
    Shop
-- 确保该店铺覆盖了所有5个指定产品
HAVING 
    COUNT(DISTINCT Product) = 5;

语句拆解

  • WHERE子句:先过滤掉无关产品和无库存的记录,只保留我们关心的有效数据;
  • GROUP BY Shop:按店铺分组,把同一店铺的所有记录聚合到一起;
  • HAVING COUNT(DISTINCT Product) = 5:用COUNT(DISTINCT)统计该店铺拥有过的不同指定产品数量,等于5就说明这5个产品曾经都有过库存(用DISTINCT是为了避免同一产品多次被计数,比如某店铺多次检查Product1都有库存,只会算1次)。

验证你的示例数据

用你给出的测试数据跑这个查询,结果正好是:

ShopStocked
Shop2TRUE

完全符合你的期望!

如果以后需要调整指定产品列表,只需要修改IN括号里的产品名称,同时把HAVING后的数字改成对应产品数量就行,非常灵活。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:00:01