首页 > 数据库 >力扣高频SQL 50题(基础版)第八题

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

时间:2024-07-24 18:26:43浏览次数:18  
标签:customer insert into visit 50 力扣 values SQL id

文章目录

力扣高频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 ('河南')     

标签:customer,insert,into,visit,50,力扣,values,SQL,id
From: https://blog.csdn.net/m0_70882914/article/details/140638790

相关文章

  • 数据结构与算法,剑指Offer 50题
    队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。对列的添加insertappend队列的取值列表[-1]列表[0]队列的删......
  • SQL---------存储函数
    ●存储函数(必须要有返回值)存储函数是有返回值的存储过程,存储函数的参数只能是in类型的。具体语法如下:createfunction存储函数名称([参数列表])returnstype[characteristic...]......
  • MySQL 如何拥有针对特定主机的单一用户账户
    MySQL如何拥有针对特定主机的单一用户账户?通常,我们会创建用户名相同但主机/IP不同的独立用户账户,如<USER>@<HOST1>,<USER>@<HOST2>....。<USER>@<HOSTn>。然后,给予这些用户相同的授权(权限/角色)和设置(密码、SSL等)。 除了以上的做法,可以创建一个可以从所有主机连接的......
  • MySQL(1)
    文章目录概述数据库OLTPOLAPSQLDQLDMLDDLDCLTCLMYSQL连接池管理服务和工具组件SQL接口查询解析器查询优化器缓冲组件CRUD创建数据库删除数据库选择数据库创建表删除表清空数据表增删改查小结概述数据库**按照数据结构来组织、存储和管理数据的仓库;**是一个长期存......
  • [第一章 web入门]SQL注入-1
    [第一章web入门]SQL注入-1payload/index.php?id=1'and0unionselect1,2,group_concat(fllllag)fromfl4g--+?id=-1'unionselect1,2,group_concat(fllllag)fromflag--+Step库名?id=-1'unionselect1,2,group_concat(SCHEMA_NAME)frominformati......
  • MySQL 学习笔记 基础(多表查询下,事务)
    多表查询 多表查询-子查询概念:SQL语句中嵌套SELECT语句,称为嵌套语句,又称子查询。SELECT*FROMt1WHEREcolumn=(SELECTcolumn1FROMt2);子查询外部的语句可以是INSERT/UPDATE/DELETE/SELECT的任何一个。根据子查询结果不同,分为:·标量子查询......
  • MySQL中多表查询之外连接
     首先先来介绍一下我做的两个表,然后再用他们两个举例说明。--创建教师表createtableteachers(id_tintprimarykeyauto_increment,--老师编号name_tvarchar(5)--姓名);--创建学生表createtablestudents(id_sintprimarykeyauto_increment,--编号na......
  • 【YashanDB知识库】stmt未close,导致YAS-00103 no free block in sql main pool part 0
    问题现象问题单:YAS-00103nofreeblockinsqlmainpoolpart0,YAS-00105outofmemorytoallocatehashtableofsize=256现象:业务处理sql时,报错YAS-00103nofreeblockinsqlmainpoolpart0问题风险及影响业务处理报错,影响功能使用问题影响版本客户版本:22.2.4......
  • MYSQL中SHOW PROCESSLIST使用
    SHOWPROCESSLIST是显示用户正在运行的线程,需要注意的是,除了root用户能看到所有正在运行的线程外,其他用户都只能看到自己正在运行的线程,看不到其它用户正在运行的线程。除非单独个这个用户赋予了PROCESS权限。通常我们通过top检查发现mysqlCPU或者iowait过高那么解决这些问题......
  • Java基础编程500题——综合练习
    ......