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

文章目录

力扣高频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函数统计次数。

实现过程

准备数据:
SQL 复制代码
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')
实现方式:
SQL 复制代码
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;
结果截图:
总结:
SQL 复制代码
#逻辑查询not
#查询不是河南的学生
select * from stu where address not in ('河南')     
相关推荐
未若君雅裁1 分钟前
JVM实战总结笔记
java·jvm·笔记
pandarking1 小时前
[CTF]攻防世界:very_easy_sql(gopher)
数据库·sql·web安全·ctf
廋到被风吹走2 小时前
【Spring】Spring Data JPA Repository 自动实现机制深度解析
java·后端·spring
MX_93592 小时前
Spring中Bean的配置(一)
java·后端·spring
sg_knight6 小时前
Spring 框架中的 SseEmitter 使用详解
java·spring boot·后端·spring·spring cloud·sse·sseemitter
郑州光合科技余经理8 小时前
同城系统海外版:一站式多语种O2O系统源码
java·开发语言·git·mysql·uni-app·go·phpstorm
一只乔哇噻8 小时前
java后端工程师+AI大模型开发进修ing(研一版‖day60)
java·开发语言·人工智能·学习·语言模型
Dolphin_Home8 小时前
笔记:SpringBoot静态类调用Bean的2种方案(小白友好版)
java·spring boot·笔记
MetaverseMan9 小时前
Java虚拟线程实战
java
leoufung9 小时前
用三色 DFS 拿下 Course Schedule(LeetCode 207)
算法·leetcode·深度优先