力扣-进店却未进行过交易的顾客

这篇具有很好参考价值的文章主要介绍了力扣-进店却未进行过交易的顾客。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。


前言

力扣-进店却未进行过交易的顾客

一、题目: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 期间进行的交易的信息。

有一些顾客可能光顾了购物中心但没有进行交易。请你编写一个 SQL 查询,来查找这些顾客的 ID ,以及他们只光顾不交易的次数。
返回以 任何顺序 排序的结果表。
查询结果格式如下例所示。

输入:
Visits
+----------+-------------+
| visit_id | customer_id |
+----------+-------------+
| 1        | 23          |
| 2        | 9           |
| 4        | 30          |
| 5        | 54          |
| 6        | 96          |
| 7        | 54          |
| 8        | 54          |
+----------+-------------+
Transactions
+----------------+----------+--------+
| transaction_id | visit_id | amount |
+----------------+----------+--------+
| 2              | 5        | 310    |
| 3              | 5        | 300    |
| 9              | 5        | 200    |
| 12             | 1        | 910    |
| 13             | 2        | 970    |
+----------------+----------+--------+
输出:
+-------------+----------------+
| customer_id | count_no_trans |
+-------------+----------------+
| 54          | 2              |
| 30          | 1              |
| 96          | 1              |
+-------------+----------------+

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

二、解题

1.正确示范①

提交SQL

select customer_id,count(1) count_no_trans
from Visits u1
left join Transactions u2 
on u1.visit_id=u2.visit_id
where u2.visit_id is null
group by customer_id;

运行结果

力扣-进店却未进行过交易的顾客

2.正确示范②

提交SQL

select customer_id,count(*) count_no_trans
from Visits u1
left join Transactions u2 
on u1.visit_id=u2.visit_id
where u2.visit_id is null
group by customer_id;

运行结果

力扣-进店却未进行过交易的顾客

3.正确示范③

提交SQL

select customer_id,count(u1.visit_id) count_no_trans
from Visits u1
left join Transactions u2 
on u1.visit_id=u2.visit_id
where u2.visit_id is null
group by customer_id;

运行结果

力扣-进店却未进行过交易的顾客

4.正确示范④

提交SQL

select customer_id,sum(1) count_no_trans
from Visits u1
left join Transactions u2 
on u1.visit_id=u2.visit_id
where u2.visit_id is null
group by customer_id;

运行结果

力扣-进店却未进行过交易的顾客

5.正确示范⑤

提交SQL

select customer_id,count(1) count_no_trans
from Visits 
where visit_id not in(
    select visit_id from Transactions
) 
group by customer_id;

运行结果

力扣-进店却未进行过交易的顾客

总结

正确示范①思路:
left join + group by +count(1)
正确示范②思路:
left join + group by +count(*)
正确示范③思路:
left join + group by +count(u1.visit_id)
正确示范④思路:
left join + group by +sum(1)
正确示范⑤思路:
not in + group by + count(1)
其他:
也可以用 not exists + group by + count(1)文章来源地址https://www.toymoban.com/news/detail-409813.html

到了这里,关于力扣-进店却未进行过交易的顾客的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 经实测利用POSTMAN根本无法进行并发测试,大家不要再被一些搬运工给误导了

    以下为我的实测记录 一、先上我测试的接口代码,就是一个redis的tryLock分布式锁的获取,接口在获取到锁后,线程sleep了5秒,此时线程是不释放锁的,那按道理第二个请求在这个时间进来,是获取不到锁的,但结果却不是这样的 二、按照网上的那些博文,postman操作步骤如下

    2024年02月11日
    浏览(48)
  • docker hub 访问不了,可以进行拉取和推送,但是不能进行注册登陆了,界面找不到了,大家一起讨论看看有什么好的解决办法。

    在 oschina 的地方找找了文章和原因: https://www.oschina.net/comment/news/241627 目前配置源还是可以正常的pull 和 push 的。 昨天刚把 IOT 项目的镜像推送上去。 但是登陆不了界面,创建不了新的应用了。还不是很方便。 https://jianmuhub.com/ 看上去貌似应用和镜像比较少. 还有个地方:d

    2024年02月09日
    浏览(47)
  • ETF套利及交易者如何进行套利的

    ETF(Exchange-Traded Fund)套利是一种通过利用市场中不同交易所交易价格之间的差异来获得利润的策略。ETF是一种基金,可以像股票一样在证券交易所上市交易,其价格会随着基础指数的波动而变化。套利者可以通过买入低价的ETF份额,然后在另一个市场上卖出高价的ETF份额,

    2024年02月13日
    浏览(40)
  • 【粉丝福利社】AI时代Python量化交易实战:ChatGPT让量化交易插上翅膀(文末送书-进行中)

    🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:

    2024年02月04日
    浏览(64)
  • 【从零开始vnpy量化投资】十. 使用simnow进行模拟盘交易

    【从零开始vnpy量化投资】十. 使用simnow进行模拟盘交易 在正式开始实盘交易之前,我们如何验证策略是否真的如回测表现的一样。这时我们就需要使用与实盘一致的方式进行测试。模拟盘服务器的主要用途就是提供一个与正式交易服务器完全一致的交互方式。通过从服务器订

    2024年02月11日
    浏览(46)
  • 通过网关访问微服务,一次正常,一次不正常 (nacos配置的永久实例却未启动导致)

    微服务直接访问没问题,通过网关访问,就一次正常访问,一次401错误,交替正常和出错 负载均衡试了 路由配置检查了 最后发现nacos下竟然有2个order服务实例,我明明只开启了一个呀 原来之前的8080端口微服务还残留,将其下线即可,否则负载均衡到未启动的实例,当然访问

    2024年02月13日
    浏览(34)
  • 无需主网结算来进行 BTC 交易?Tectum 提出了新的解决方案

    撰文:Tom,CryptoBooster  下载TechubNews APP,探索Web3的无限可能!掌握最新动态,发现更多相关资讯,与行业领袖共同探索未来趋势。立即下载,开启您的Web3之旅! 区块链发展至今,公链开发者的努力方向都是更高效的智能合约公链,从 Avanlanche 的子网,到 NEAR 的分片,再到

    2024年01月17日
    浏览(42)
  • 数据分析案例-顾客购物数据可视化分析

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 1.项目背景 2.数据集介绍 3.技术工具 4.导入数据 5.数据可视化 5.1分析性别比例 5.2年龄

    2024年02月07日
    浏览(58)
  • SQL100 确定最佳顾客的另一种方式(二)

    OrderItems表代表订单信息,确定最佳顾客的另一种方式是看他们花了多少钱,OrderItems表有订单号order_num和item_price商品售出价格、quantity商品数量 order_num item_price quantity a1 10 105 a2 1 1100 a2 1 200 a4 2 1121 a5 5 10 a2 1 19 a7 7 5 Orders表含有字段order_num 订单号、cust_id顾客id order_num cust_id a1

    2023年04月22日
    浏览(78)
  • 神秘客满意度调查:如何精准捕捉顾客心声,提升服务质量?

    在如今竞争激烈的市场环境中,了解顾客需求、捕捉顾客心声成为了企业能否持续发展的核心要素。而神秘客满意度调查作为一种独特而高效的市场调研方式,正逐渐受到各大企业的青睐。那么,如何确保神秘客满意度调查的有效执行呢?深圳神秘顾客(SMS)公司凭借其多年

    2024年02月20日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包