Mysql 如何为这个问题编写SQL语句?
Mysql 如何为这个问题编写SQL语句?,mysql,sql,sql-server,Mysql,Sql,Sql Server,CHAMPIONS(~500行) 写一个查询,显示每个国家至少两次赢得世界杯的国家赢得世界杯的次数 我感到困惑的是,每个国家赢得了多少次,比如2018年法国赢了3次。我不确定是否需要计数选项或select语句 如果有更多的澄清和帮助,或者我的查询需要任何调整,我将不胜感激 我所尝试的: 这就是我想到的: SELECT YEAR, COUNTRY FROM CHAMPIONS WHERE COUNTRY>=2; 我希望这是对的。你必须计算每个国家的不同年份,如下所示: SELECT COU
CHAMPIONS
(~500行)
写一个查询,显示每个国家至少两次赢得世界杯的国家赢得世界杯的次数
我感到困惑的是,每个国家赢得了多少次,比如2018年法国赢了3次。我不确定是否需要计数选项或select语句
如果有更多的澄清和帮助,或者我的查询需要任何调整,我将不胜感激
我所尝试的:
这就是我想到的:
SELECT YEAR, COUNTRY
FROM CHAMPIONS
WHERE COUNTRY>=2;
我希望这是对的。你必须计算每个国家的不同年份,如下所示:
SELECT COUNTRY, COUNT(DISTINCT [YEAR]) AS WON
FROM CHAMPIONS
GROUP BY COUNTRY
HAVING COUNT(DISTINCT [YEAR]) > 1;
您必须计算每个国家的不同年份,如下所示:
SELECT COUNTRY, COUNT(DISTINCT [YEAR]) AS WON
FROM CHAMPIONS
GROUP BY COUNTRY
HAVING COUNT(DISTINCT [YEAR]) > 1;
如果你想获得所有冠军,那么很明显,你不能一次拥有超过一个冠军。我会专注于角色。。。假设你只计算经理。。。例如:
select country,count(*) from champions where role='Manager' group by country,role having count(*)>=2
如果你想获得所有冠军,那么很明显,你不能一次拥有超过一个冠军。我会专注于角色。。。假设你只计算经理。。。例如:
select country,count(*) from champions where role='Manager' group by country,role having count(*)>=2
提示:按和查找
分组。从冠军组中选择国家,按国家计数()>2我认为不可能在一年内三次赢得世界杯。您需要更好地理解您的数据。您应该标记您正在使用的正确RDBMS-您使用的是MySQL还是Microsoft SQL Server?欢迎使用SO。首先找出您正在使用的RDBMS。然后查看提示:按
查看分组和拥有
。选择国家,从冠军组中按国家计数()>2我认为不可能在一年内三次赢得世界杯。您需要更好地理解您的数据。您应该标记您正在使用的正确RDBMS-您使用的是MySQL还是Microsoft SQL Server?欢迎使用SO。首先找出您正在使用的RDBMS。那就看