当前位置: 首页 > news >正文

力扣高频SQL 50题(基础版)第八题

文章目录

  • 力扣高频SQL 50题(基础版)第八题
    • 1581. 进店却未进行过交易的顾客
      • 题目说明
      • 思路分析
      • 实现过程
        • 准备数据:
        • 实现方式:
        • 结果截图:
        • 总结:

力扣高频SQL 50题(基础版)第八题

1581. 进店却未进行过交易的顾客

题目说明

表:Visits

±------------±--------+

| Column Name | Type |

±------------±--------+

| visit_id | int |

| customer_id | int |

±------------±--------+

visit_id 是该表中具有唯一值的列。

该表包含有关光临过购物中心的顾客的信息。

表:Transactions

±---------------±--------+

| Column Name | Type |

±---------------±--------+

| transaction_id | int |

| visit_id | int |

| amount | int |

±---------------±--------+

transaction_id 是该表中具有唯一值的列。

此表包含 visit_id 期间进行的交易的信息。

有一些顾客可能光顾了购物中心但没有进行交易。请你编写一个解决方案,来查找这些顾客的 ID ,以及他们只光顾不交易的次数

返回以 任何顺序 排序的结果表。

思路分析

在这里插入图片描述

本题利用子查询的方法结合逻辑查询not解题,首先在表Transactions中查出光顾且消费的顾客ID,然后在表Visits中过滤掉消费的顾客ID,即可得到进店却为进行交易的顾客,最后通过count函数统计次数。

实现过程

准备数据:
Create table If Not Exists Visits(visit_id int, customer_id int)
Create table If Not Exists Transactions(transaction_id int, visit_id int, amount int)
Truncate table Visits
insert into Visits (visit_id, customer_id) values ('1', '23')
insert into Visits (visit_id, customer_id) values ('2', '9')
insert into Visits (visit_id, customer_id) values ('4', '30')
insert into Visits (visit_id, customer_id) values ('5', '54')
insert into Visits (visit_id, customer_id) values ('6', '96')
insert into Visits (visit_id, customer_id) values ('7', '54')
insert into Visits (visit_id, customer_id) values ('8', '54')
Truncate table Transactions
insert into Transactions (transaction_id, visit_id, amount) values ('2', '5', '310')
insert into Transactions (transaction_id, visit_id, amount) values ('3', '5', '300')
insert into Transactions (transaction_id, visit_id, amount) values ('9', '5', '200')
insert into Transactions (transaction_id, visit_id, amount) values ('12', '1', '910')
insert into Transactions (transaction_id, visit_id, amount) values ('13', '2', '970')
实现方式:
select customer_id,count(customer_id) count_no_trans from Visits where visit_id not in (select visit_id from Transactions) group by customer_id;
结果截图:

在这里插入图片描述

总结:
#逻辑查询not
#查询不是河南的学生
select * from stu where address not in ('河南')     
http://www.lryc.cn/news/410117.html

相关文章:

  • 【C++20】从0开始自制协程库
  • Docker 深度解析:从入门到精通
  • [C++] 模板编程-02 类模板
  • 嵌入式C++、STM32、树莓派4B、OpenCV、TensorFlow/Keras深度学习:基于边缘计算的实时异常行为识别
  • C++ //练习 15.30 编写你自己的Basket类,用它计算上一个练习中交易记录的总价格。
  • 3个方法快速找回忘记的PDF文件密码
  • 排序算法:选择排序,golang实现
  • 【测试】博客系统的测试报告
  • PointCLIP: Point Cloud Understanding by CLIP
  • 搜索(剪枝)
  • python基础知识点
  • Android SurfaceFlinger——GraphicBuffer获取内存信息(三十一)
  • 基于 SASL/SCRAM 让 Kafka 实现动态授权认证
  • 通用多级缓件组件
  • MindIE Service服务化集成部署通义千问Qwen模型
  • chrome 接口请求等待时间(installed 已停止)过长问题定位
  • HDialog特殊动画效果
  • 基因组挖掘指导天然药物分子的发现-文献精读34
  • hcip学习 DHCP中继
  • [Mysql-函数、索引]
  • org.eclipse.jgit 简单总结
  • Fork软件笔记:一键拉取仓库所有模块
  • 常见的锂电保护芯片 单节锂电保护/双节锂电保护芯片
  • 初识Java(六)
  • Spring-原理篇-DispatcherServlet 初始化 怎么和IOC进行了打通?
  • 关于swift- OC混编使用Pod遇到的2个错误
  • Golang | Leetcode Golang题解之第290题单词规律
  • 【Django5】模型定义与使用
  • HTML--JavaScript操作DOM对象
  • Redis 缓存