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

如何用SQL查询同时被customer_id 100与101至少购买过一次的商品的交易记录

SQL查询方案

实现逻辑

  • 先通过分组聚合筛选出同时被用户100、101购买过的商品:过滤两个用户的购买记录后按商品分组,要求去重后的用户数刚好为2,确保两个用户都至少买过一次
  • 用符合要求的商品列表匹配原交易表,取出该商品对应的全部交易记录

可直接运行的查询语句

SELECT *
FROM transactions
WHERE item IN (
    SELECT item
    FROM transactions
    WHERE customer_id IN (100, 101)
    GROUP BY item
    HAVING COUNT(DISTINCT customer_id) = 2
);

说明:这里用COUNT(DISTINCT customer_id)是为了兼容同一用户多次购买同个商品的场景,避免统计次数虚高导致判断错误。

结果验证

针对提供的样例数据,执行上述语句后返回结果如下,完全符合需求:

transaction_id, item, customer_id
1, Computer, 100
2, Computer, 101

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:48:00