带有详细答案的 SQL 案例问题(分步)

带有详细答案的 SQL 案例问题(分步)

我们分析了超过 50,000 次从上市前到财富 500 强公司的采访 大科技采访 (BTI) 策划最新 SQL 面试问题和解决方案的独家列表,以便您在下一次面试中取得成功!

SQL 架构

 表:竞技场  
 +------------+--------+  
 |列名 |类型 |  
 +------------+--------+  
 |尝试 |int |  
 |匹配 |int |  
 |赢得 |布尔 |  
 +------------+--------+

迅速的: 玩家会为您提供竞技场尝试的数据。如果赢得 6 场比赛,则赢得竞技场。如果输掉 2 场比赛,则失去竞技场。求该玩家每次竞技场尝试的平均胜场数。四舍五入到小数点后两位。

例子

 表:竞技场  
 +--------+------+------+  
 |尝试 |比赛 |获胜 |  
 +--------+------+------+  
 |1 |1 |假|  
 |1 |2 |真 |  
 |1 |3 |真 |  
 |1 |4 |假|  
 |2 |1 |真 |  
 |2 |2 |真 |  
 |2 |3 |假|  
 |2 |4 |真 |  
 |2 |5 |假|  
 |3 |1 |真 |  
 |3 |2 |真 |  
 |3 |3 |假|  
 |3 |4 |真 |  
 +--------+------+------+ * 表格缩短,见完整数据[ 这里](https://app.bigtechinterviews.com/challenge/3EFUmED04vcpOXDsLrdDwC)

提示 (A) 输出

 +----------+  
 |avg_wins |  
 +----------+  
 |4.00 |  
 +----------+

想在真正的 SQL 引擎中练习这个问题吗? 在这里了解更多!

步骤1

首先,我们需要计算每次尝试的获胜次数:

逻辑

  • 这是一个简单的 COUNT() 聚合 试图 .我们将使用结果 获胜 下一步中我们的 AVG() 中的数字。

第2步

在 CTE 中使用步骤 1(称为“wins”),我们可以得到结果 获胜 数并求平均值:

逻辑

  • 我们正在寻找我们的 AVG() 获胜 聚合计算。
  • 我们将结果 ROUND() 到小数点后 2 位。

最终查询

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/3004/58493108

posted @   哈哈哈来了啊啊啊  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示