首页 > 其他分享 >1045. 买下所有产品的客户

1045. 买下所有产品的客户

时间:2023-06-30 13:23:52浏览次数:42  
标签:customer product 1045 Product 客户 key 买下 +-------------+ id

1045. 买下所有产品的客户

SQL架构

Customer 表:

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| customer_id | int     |
| product_key | int     |
+-------------+---------+
product_key 是 Customer 表的外键

Product 表:

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| product_key | int     |
+-------------+---------+
product_key 是这张表的主键。

 

写一条 SQL 查询语句,从 Customer 表中查询购买了 Product 表中所有产品的客户的 id。

示例:

Customer 表:
+-------------+-------------+
| customer_id | product_key |
+-------------+-------------+
| 1           | 5           |
| 2           | 6           |
| 3           | 5           |
| 3           | 6           |
| 1           | 6           |
+-------------+-------------+

Product 表:
+-------------+
| product_key |
+-------------+
| 5           |
| 6           |
+-------------+

Result 表:
+-------------+
| customer_id |
+-------------+
| 1           |
| 3           |
+-------------+
购买了所有产品(5 和 6)的客户的 id 是 1 和 3 。
# 1.以Product为主表创建连接Customer,获取distinct的customer_id
# 2.以customer_id分组,再通过having COUNT(*)=(SELECT COUNT(*) FROM Product)判断

SELECT customer_id 
FROM (
  -- 应该是右连接,因为要确保顾客买的产品在产品表
    SELECT distinct customer_id,c.product_key 
    FROM Customer c
    RIGHT JOIN Product p 
    ON c.product_key=p.product_key
) AS T
GROUP BY customer_id 
having COUNT(*)=(SELECT COUNT(*) FROM Product)

 

标签:customer,product,1045,Product,客户,key,买下,+-------------+,id
From: https://www.cnblogs.com/fulaien/p/17516458.html

相关文章

  • C# opc ua客户端实例源码,带ef6+sqlite
    C#opcua客户端实例源码,带ef6+sqlite。代码有完整的注解,及包括所有的链接库和程序结构思维图。纯学习资料原创文章,转载请说明出处,资料来源:http://imgcs.cn/5c/638904489888.html......
  • django使用gunicorn框架,客户端请求耗时接口被中断问题
    项目使用的是django,使用了gunicorn作为动态web服务,使用的是supervisor作为进程管理工具。由于特殊原因,最近上线了一个非常耗时的http接口,一段时间后开始有用户陆续反馈他们的代码调用这个接口会返回502错误,经过一段时间的排查排除了网关的问题,确认是系统问题。经过......
  • 获取邮箱(QQ、126、163)的客户端授权码
    获取QQ邮箱的客户端授权码1、首先登录QQ邮箱(https://mail.qq.com),然后,点击“设置”按钮。2、点击“账户”按钮,进入“账户”页面。3、在账户页面将页面往下拉,找到pop3设置,选择“开启”。4、据要求进行验证(此处以手机密保验证为例),验证完毕后,点击“我已发送”按钮。5、接下来......
  • 客户端在HDFS上读、写数据的流程
      ......
  • Kubernetes编程——修改客户端默认支持 Protobuf
    修改客户端默认支持Protobuf一、在kubernetes客户端中修改默认支持Protobuf确保你已经安装了kubectl命令行工具,并且版本在1.14.0或更高。打开~/.kube/config文件,该文件存储了你的Kubernetes集群配置信息。找到clusters部分,并在你的集群配置下添加extensions字段,示例如下:......
  • CAS SSO单点登录基础实践,配置CAS 服务器和CAS客户端
    参考网址:http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/index.html 到CAS官方网站下载CASServer和Client,地址分别为:http://www.ja-sig.org/downloads/cas/cas-server-3.1.1-release.ziphttp://www.ja-sig.org/downloads/cas-clients/cas-client-java-3.0.0.z......
  • 武汉星起航:亚马逊平台——以客户为中心,而不是竞争对手为中心
    亚马逊公司成立于1994年,总部位于美国华盛顿州。在成立两年后的1996年,亚马逊重新注册成立,总部迁至特拉华州。自成立以来,亚马逊一直以成为地球上以客户为中心的公司为目标,并秉承着一系列核心原则。首先,亚马逊以客户为中心。这意味着公司将客户需求和体验置于首位,而非将竞争对手作为主......
  • Feign客户端的拦截器
    importfeign.RequestInterceptor;importfeign.RequestTemplate;importlombok.extern.slf4j.Slf4j;importorg.springframework.stereotype.Component;importorg.springframework.web.context.request.RequestContextHolder;importorg.springframework.web.context.r......
  • 作为一个客户经理你一个如何给客户介绍API接口
    随着科技的发展,API(ApplicationProgrammingInterface,应用程序接口)的应用已经逐渐普及,而API接口作为现代企业实现智能化运营和管理的重要工具之一,也备受关注。作为一名客户经理,向客户介绍API接口,需要做好充分的准备工作和沟通,下面是一些我在实践中总结的建议:确定客户需求:在与客......
  • iSecure Center综合安防管理平台 监控平台客户端使用
     iSecureCenter综合安防管理平台监控平台客户端使用   一、 登录,  账号:admin  密码:xxxxxx  平台地址:192.168.1.6  端口:443二、 点击实时预览,可以看监控点实时画面,把想看的点位拖到方框里即可。    三、 录像回放,点击录像回放,可以看到以前的录像......