返回介绍

solution / 2000-2099 / 2072.The Winner University / README

发布于 2024-06-17 01:03:11 字数 3266 浏览 0 评论 0 收藏 0

2072. 赢得比赛的大学

English Version

题目描述

表: NewYork

+-------------+------+
| Column Name | Type |
+-------------+------+
| student_id  | int  |
| score     | int  |
+-------------+------+
在 SQL 中,student_id 是这个表的主键。
每一行包含纽约大学 (New York University) 中一名学生一次考试的成绩。

 

表: California

+-------------+------+
| Column Name | Type |
+-------------+------+
| student_id  | int  |
| score     | int  |
+-------------+------+
在 SQL 中,student_id 是这个表的主键。
每一行包含加州大学 (California University) 中一名学生一次考试的成绩。

 

纽约大学和加州大学之间举行了一场比赛。这场比赛由两所大学中相同数量的学生参加。拥有更多优秀学生的大学赢得这场比赛。如果两所大学的优秀学生数量相同,则这场比赛平局。

优秀学生是指在考试中获得 90% 或更高成绩的学生。

返回:

  • "New York University" 若纽约大学赢得这场比赛。
  • "California University" 若加州大学赢得这场比赛。
  • "No Winner" 若这场比赛平局。

返回结果格式如下示例所示:

 

示例 1:

输入: 
NewYork 表:
+------------+-------+
| student_id | score |
+------------+-------+
| 1      | 90  |
| 2      | 87  |
+------------+-------+
California 表:
+------------+-------+
| student_id | score |
+------------+-------+
| 2      | 89  |
| 3      | 88  |
+------------+-------+
输出: 
+---------------------+
| winner        |
+---------------------+
| New York University |
+---------------------+
解释:
纽约大学有 1 名优秀学生,加州大学有 0 名优秀学生。

示例 2:

输入: 
NewYork 表:
+------------+-------+
| student_id | score |
+------------+-------+
| 1      | 89  |
| 2      | 88  |
+------------+-------+
California 表:
+------------+-------+
| student_id | score |
+------------+-------+
| 2      | 90  |
| 3      | 87  |
+------------+-------+
输出: 
+-----------------------+
| winner        |
+-----------------------+
| California University |
+-----------------------+
解释:
纽约大学有 0 名优秀学生,加州大学有 1 名优秀学生。

示例 3:

输入: 
NewYork 表:
+------------+-------+
| student_id | score |
+------------+-------+
| 1      | 89  |
| 2      | 90  |
+------------+-------+
California 表:
+------------+-------+
| student_id | score |
+------------+-------+
| 2      | 87  |
| 3      | 99  |
+------------+-------+
输出: 
+-----------+
| winner  |
+-----------+
| No Winner |
+-----------+
解释:
纽约大学和加州大学均有 1 名优秀学生。

解法

方法一

# Write your MySQL query statement below
SELECT
  CASE
    WHEN n1.cnt > n2.cnt THEN 'New York University'
    WHEN n1.cnt < n2.cnt THEN 'California University'
    ELSE 'No Winner'
  END AS winner
FROM
  (SELECT COUNT(1) AS cnt FROM NewYork WHERE score >= 90) AS n1,
  (SELECT COUNT(1) AS cnt FROM California WHERE score >= 90) AS n2;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文