mysql third operation

-- 第一题
CREATE TABLE BBc1(
	NAME VARCHAR(10),
	region VARCHAR(10),
	AREA NUMERIC(10,2),
	population NUMERIC(18),
	gdp NUMERIC(18)
);

-- 插入中国
INSERT INTO BBc1 (NAME,region,AREA,population,gdp) VALUES ('中国','亚洲',960,1200000000,1002800000000);
-- 插入美国
INSERT INTO BBc1 (NAME,region,AREA,population,gdp) VALUES ('美国','北美洲',937,300000000,1752800000000);
-- 插入日本
INSERT INTO BBc1 (NAME,region,AREA,population,gdp) VALUES ('日本','亚洲',37,125000000,484600000000);
-- 插入德国
INSERT INTO BBc1 (NAME,region,AREA,population,gdp) VALUES ('德国','欧洲',35,81640000,379400000000);
-- 插入英国
INSERT INTO BBc1 (NAME,region,AREA,population,gdp) VALUES ('英国','欧洲',24,58800000,282800000000);
-- 插入巴西
INSERT INTO BBc1 (NAME,region,AREA,population,gdp) VALUES ('巴西','南美洲',854,160000000,221600000000);

-- 查看bbc1表
SELECT * FROM bbc1;

Renderings

-- 查询出所有国家的平均人口。平均GDP。
SELECT  SUM(b.`population`)/COUNT(*) AS 所有国家的平均人口,SUM(b.gdp)/COUNT(*)  AS 所有国家的gdp FROM bbc1 b ;

Renderings

-- 查询出人口最少的国家的人数。
SELECT b.`NAME`,b.`population`   FROM bbc1 b ORDER BY b.`population`  LIMIT 0,1 ; 

Renderings

-- 查询出GDP最多的国家的GDP
SELECT b.`gdp`,b.`NAME` FROM bbc1 b ORDER BY b.`gdp` DESC LIMIT 0,1;

Renderings

-- 查询出各大洲的国家有几个。人口总数是多少,总GDP是多少。
SELECT b.`region`,COUNT(*) ,SUM(b.`population`) AS 人口总数,SUM(b.`gdp`) AS 总GDP FROM bbc1 b GROUP BY b.`region`;

Renderings

-- 第二题
CREATE TABLE nobe2(
	ID INT PRIMARY KEY AUTO_INCREMENT ,
	yr NUMERIC(4),
	SUBJECT VARCHAR (10),
	winner VARCHAR(10),
	AREA VARCHAR(10)
);

-- 插入张三
INSERT INTO nobe2  VALUES (NULL,2000,'java','张三','中国');

-- 插入李四
INSERT INTO nobe2  VALUES (NULL,2001,'c++','李四','中国');

-- 插入王五
INSERT INTO nobe2 VALUES (NULL,2002,'c','王五','日本');

-- 插入赵六
INSERT INTO nobe2  VALUES (NULL,2002,'java','赵六','日本');

-- 插入刘八
INSERT INTO nobe2  VALUES (NULL,2002,'c','刘八','美国');

-- 插入罗九
INSERT INTO nobe2  VALUES (NULL,2002,'c++','罗九','美国');

-- 插入朱十
INSERT INTO nobe2  VALUES (NULL,2003,'java','朱十','美国');

-- 插入陈十一
INSERT INTO nobe2  VALUES (NULL,2004,'足球','陈十一','美国');

-- 插入唐十二
INSERT INTO nobe2  VALUES (NULL,2005,'篮球','唐十二','美国');

-- 插入隔壁老王
INSERT INTO nobe2 VALUES (NULL,2006,'乒乓球','隔壁老王','美国');

-- 查看nobe2
SELECT * FROM nobe2;

Renderings

-- 查询出每年颁发的诺贝尔奖的个数。
SELECT  b.`yr`,COUNT(*) FROM nobe2 b GROUP BY b.`yr`;

Renderings

-- 查询出得到诺贝尔奖个数超过2次的年份。
SELECT b.`yr` FROM nobe2 b GROUP BY b.`yr` HAVING COUNT(*)>2;

Renderings

-- 查询出各国,各年份获奖次数,并按获奖次数降序
SELECT b.`area`,b.`yr`,COUNT(*) AS 获奖次数 FROM nobe2 b GROUP BY b.`area`,b.`yr` ORDER BY  COUNT(*) DESC;

Renderings

-- 查询出2002年之后获得奖项的国家.
SELECT  b.`SUBJECT`,b.`area` FROM nobe2 b WHERE b.`yr`>2002 GROUP BY b.`SUBJECT`,b.`area`;

Renderings

 

 

Released seven original articles · won praise 0 · Views 121

Guess you like

Origin blog.csdn.net/winwinwin99/article/details/99881304