---------- 禁止修改 ----------
drop database if exists mydb cascade;
---------- 禁止修改 ----------
---------- begin ----------
---创建mydb数据库
CREATE DATABASE mydb;
---使用mydb数据库
USE mydb;
---创建表usertab
CREATE TABLE usertab (
id INT,
sex STRING,
time STRING,
education STRING,
occupation STRING,
income STRING,
area STRING,
desired_area STRING,
city_countryside STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
---导入数据:/root/data.txt
LOAD DATA LOCAL INPATH '/root/data.txt' INTO TABLE usertab;
---查询每一个用户从出生到现在的总天数
SELECT
id,
DATEDIFF('2019-06-10', TO_DATE(REPLACE(time, '/', '-'))) AS days_since_birth
FROM usertab;
---------- end ----------
第二关 同一个地区相同的教育程度的最高收入
sql复制代码
---------- 禁止修改 ----------
drop database if exists mydb cascade;
---------- 禁止修改 ----------
---------- begin ----------
---创建mydb数据库
CREATE DATABASE mydb;
---使用mydb数据库
USE mydb;
---创建表usertab1
CREATE TABLE usertab1 (
id INT,
sex STRING,
time STRING,
education STRING,
occupation STRING,
income INT,
area STRING,
desired_area STRING,
city_countryside STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
---导入数据:/root/data1.txt
LOAD DATA LOCAL INPATH '/root/data1.txt' INTO TABLE usertab1;
--同一个地区相同的教育程度的最高收入
SELECT
area,
education,
MAX(income) AS max_income
FROM usertab1
GROUP BY area, education
ORDER BY area,
CASE education
WHEN '专科' THEN 1
WHEN '本科' THEN 2
WHEN '硕士' THEN 3
ELSE 4
END;
---------- end ----------
第三关 统计各级学历所占总人数百分比
sql复制代码
---------- 禁止修改 ----------
drop database if exists mydb cascade;
set hive.mapred.mode=nonstrict;
---------- 禁止修改 ----------
---------- begin ----------
----创建mydb数据库
CREATE DATABASE mydb;
---使用mydb数据库
USE mydb;
---创建表user
CREATE TABLE usertab2 (
id INT,
sex STRING,
time STRING,
education STRING,
occupation STRING,
income STRING,
area STRING,
desired_area STRING,
city_countryside STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
---导入数据:/root/data.txt
LOAD DATA LOCAL INPATH '/root/data.txt' INTO TABLE usertab2;
--查询
SELECT
CONCAT(ROUND(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER(), 2), '%') AS percentage,
education
FROM usertab2
GROUP BY education
ORDER BY education;
---------- end ----------