MySQL基础练习题15-进店却未进行交易过的顾客

news2024/11/24 23:06:07

题目:有一些顾客可能光顾了购物中心但没有进行交易。来查找这些顾客的 ID ,以及他们只光顾不交易的次数。

准备数据

分析数据


题目:有一些顾客可能光顾了购物中心但没有进行交易。来查找这些顾客的 ID ,以及他们只光顾不交易的次数。

准备数据

## 创建库
create database db;
use db;

## 创建visits表
Create table If Not Exists Visits(visit_id int, customer_id int);

## 创建Transactions表
Create table If Not Exists Transactions(transaction_id int, visit_id int, amount int);

## 向Visits插入数据
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');

## 向Transactions插入数据
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');

输入表

visits表

transactions表

 分析数据

ID = 23 的顾客曾经逛过一次购物中心,并在 ID = 12 的访问期间进行了一笔交易。
ID = 9 的顾客曾经逛过一次购物中心,并在 ID = 13 的访问期间进行了一笔交易。
ID = 30 的顾客曾经去过购物中心,并且没有进行任何交易。
ID = 54 的顾客三度造访了购物中心。在 2 次访问中,他们没有进行任何交易,在 1 次访问中,他们进行了 3 次交易。
ID = 96 的顾客曾经去过购物中心,并且没有进行任何交易。
如我们所见,ID 为 30 和 96 的顾客一次没有进行任何交易就去了购物中心。顾客 54 也两次访问了购物中心并且没有进行任何交易。

第一步:

## 第一步:将visits表作为左连接,让那些没有交易为null值
select v.customer_id,v.visit_id,t.transaction_id,amount
from visits v left join transactions t on v.visit_id = t.visit_id;

第二步:

## 第二步:对没有交易的顾客记性count()统计
select v.customer_id,count(*) as count_no_trans
from visits v left join transactions t on v.visit_id = t.visit_id
where transaction_id is null
group by v.customer_id;

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1962932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++迭代器的介绍

迭代器主要的作用就是为了可以像数组那样实现指针向后移动到下一个数据。同时迭代器统一了所有容器,让所有容器可以通过迭代器互通数据。 那么下面我们来看看迭代器 数组的优势 我们数组的优势就是内存连续,那么我们将首地址的地址进行加减就可以访问…

【多线程】补充内容 {线程池;线程安全的单例模式;STL容器、智能指针的线程安全;其他常见的各种锁:自旋锁、读写锁}

一、线程池 1.1 概念 线程池一种线程使用模式: 线程过多会带来调度开销,进而影响缓存局部性和整体性能。 而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务:(线程池的优点) 这避免了在处…

将真实世界带入实验室—如何使用ALPS进行网络损伤仿真测试

不完美的真实世界网络 不同于稳定、可控的传统网络实验室的网络环境,真实世界的网络环境面临着许多挑战和风险,这些挑战在很大程度上增加了网络的脆弱性和复杂性: (1)物理损伤:真实世界的网络基础设施&am…

Java扫码点餐系统奶茶店类型堂食配送小程序源码

🥤【奶茶新风尚!扫码点餐系统,堂食配送两不误】🥤 🏠【堂食新体验:一键下单,即享美味】🏠 踏入心仪的奶茶店,不再需要排队等候点单,只需拿起手机&#xff0…

TongHttpServer 简介

1. 概述 随着网络技术的飞速发展,高并发大用户场景越来越普遍,单一应用服务节点已经不能满足并发需求,为了提高整个系统可靠性,扩展性,吞吐率,通常将多个应用服务器通过硬负载/软负载组成集群,负载均衡器根据不同负载算法将请求分发到各个应用服务器节点。 Tong…

飞书打卡 快捷指令

使用快捷指令定时飞书打卡 在网上找了一圈,只有钉钉打卡的快捷指令,但是公司换飞书,哪个打工人不怕忘记打卡呢,所以自己研究了一下,其实也很简单。 找url 问题的最关键是打开飞书的打卡界面 如果只是打开飞书APP 很…

手动上电电路(电路收藏)

SW1按下 V1栅极对地 V1通 Vout给Mcu工作 GPIO2 高电平 V2通 SW1松开 V1栅极依然通过V2对地 维持V1通 Vout。再次按下SW1 GPIO1 对地 使Mcu收到中断 将GPIO2 输出低电平 V2关 松开SW1 V1栅极悬空 V1断开 Vout被截断

大数据基础:Spark重要知识汇总

文章目录 Spark重要知识汇总 一、Spark 是什么 二、Spark 四大特点 三、Spark框架模块介绍 3.1、Spark Core的RDD详解 3.1.1、什么是RDD 3.1.2、RDD是怎么理解的 四、Spark 运行模式 4.1、Spark本地模式介绍 4.2、Spark集群模式 Standalone 4.3、Spark集群模式 Stan…

中国十大顶级哲学家,全球公认的伟大思想家颜廷利:人类为何拥有臀部

人类为何拥有臀部?若众生皆无此部位,又如何能寻得一处真正属于自己的“座位”?在博大精深的中国传统文化中,汉字“座”与“坐”均蕴含“土”字元素。在易经的智慧里,作为五行之一的“土”,象征着人类社会的…

将gitee 上的nvim 配置 从gitee 上下载下来,并配置虚拟机

首先是下载 gitee 上的配置。 然后是 配置 tmux 然后是配置nvim . 1 在init.lua 文件中注释掉所有的与第三方插件有关的内容。 2 在packer 的文件中 , 注释掉所有的与 第三方插件有关的代码。 3 首先要保证 packer 能够正确的安装。 4 然后开始 安装 所有的插件…

汇川技术|CANlink、CANopen、Profibus-DP网络编辑器的使用

哈喽,你好啊,我是雷工! 本节学习CANlink、CANopen、Profibus-DP网络编辑器的使用。 以下为学习笔记。 01 CANlink编辑器 在AC810的【网络组态】中未看到CANlink主站的功能,所以先简单了解,等具体使用时再具体查看。 …

2024最全RabbitMQ集群方案汇总

之前在网上找rabbitmq集群方案有哪几种时,基本上看到的答案都不太一样,所以此文的主要目的是梳理一下rabbitmq集群方案,对rabbitmq集群方案的笔记并不是搭建的笔记。 总结了一些文章,rabbitmq集群大概有五种方案:普通…

一文搞懂网络IO和java中的IO模型

目录 1.绪论 2.IO分类 3.用户空间和内核空间 4.同步阻塞IO 5.同步非阻塞IO 6.IO多路复用 6.1 基本原理 6.2 linux对IO多路复用的实现方式 6.3.1 select 1.实现原理 2.缺点 6.3.2 poll 1.实现原理 6.3.3 epoll 1.epoll数据结构 2.epoll的函数 3.epoll的优点 4…

【实践出真知】使用Docusaurus将md文档组织起来就是一个网站(写API文档,写教程、写日记、写博客的有福了)

文章目录 前言一、Docusaurus 是什么?二、一键生成网站框架并预览1. 系统需求2. 脚手架项目网站(一键生成网站框架)3. 生成的目录内容4. 网站运行与展示 总结 前言 前段时间,学习Flet,访问到Flet中文网,被…

魔方财务新版QRuser用户中心主题

本主题支持魔方财务3.5.7版本!可自由切换魔方财务3.5.7版本与其他版本。本主题基于官方default开发,主要面向企业,三端自适应,支持并完美适配多语言。界面精美,简洁清新,主题内新增多处bootstrap-select的调…

软考系统架构师-计算机网络基础

目录 3.1 网络的基本概念 3.2 通信技术 3.3 网络技术 3.4 组网技术 1.网络设备及其工作层级 2.网络协议 (1)应用层协议。 (2)传输层协议。 (3)网络层协议。 3.交换机 4&#xff0e…

Speckly:基于Speckle文档的RAG智能问答机器人

前言 Speckly 是一个基于 检索增强生成 (RAG) 技术的智能问答机器人,它能像一位经验丰富的工程师,理解你的问题,并从 Speckle 文档中精准地找到答案。更厉害的是,它甚至可以帮你生成代码片段! 🚀 本文将详…

linux:基本权限

1、权限与用户之间的关系 在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。 2、如何修改一个文件的…

快团团等社区团购类小区物资团购怎么按商品批量退款?

疫情期间,小区物资团的配送需要达到一定的起送件数,对于一些没有达到起送件数的商品,如何快速地批量退款呢?按照下列操作,只需四步,就可以对某一商品批量退款。 第1步:进入团购页面&#xff0c…

JavaScript(二)变量

一、两种注释方式 // 这是当行注释/* 这是多行注释 这是多行注释 */二、变量是什么 变量就是一个可以存放“数值”的容器,这个“数值”可以是数字、字符串、函数等。 变量不是数值本身,它是一个用于存储数值的容器,你可以把变量想象成一个个…