带有详细答案的 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
标签:尝试,+--------+------+------+,SQL,案例,+----------+,分步,竞技场,获胜 From: https://www.cnblogs.com/amboke/p/16641752.html