表: NewYork
+-------------+------+
| Column Name | Type |
+-------------+------+
| student_id | int |
| score | int |
+-------------+------+
student_id 是这个表的主键。
每一行包含纽约大学 (New York University) 中一名学生一次考试的成绩。
表: California
+-------------+------+
| Column Name | Type |
+-------------+------+
| student_id | int |
| score | int |
+-------------+------+
student_id 是这个表的主键。
每一行包含加州大学 (California University) 中一名学生一次考试的成绩。
纽约大学和加州大学之间举行了一场比赛。这场比赛由两所大学中相同数量的学生参加。拥有更多优秀学生的大学赢得这场比赛。如果两所大学的优秀学生数量相同,则这场比赛平局。
优秀学生是指在考试中获得 90% 或更高成绩的学生。
写一条 SQL 语句,返回:
"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
WITH v1(c) AS (
SELECT COUNT(*) FROM NewYork WHERE score >= 90
), v2(c) AS (
SELECT COUNT(*) FROM California WHERE score >= 90
)
SELECT CASE WHEN v1.c > v2.c THEN "New York University"
WHEN V1.c < v2.c THEN "California University"
ELSE "No Winner" END AS winner
FROM v1,v2;