数据准备

创建数据表脚本:

http://tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/SQL/create_table.sql​tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/SQL/create_table.sql

插入数据脚本:(data数据下的_macosx忽略,没用)

http://tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/SQL/data.zip​tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/SQL/data.zip

大家下载好脚本后,先在MySQL环境中运行create_table.sql脚本,创建数据表,然后解压下载好的data.zip,解压后目录如下:

8-10ccf_offline_stage1_train.sql
6-winequality-white.sql
5-8-10ccf_online_stage1_train.sql
4-macro industry.sql
3-ccf_offline_stage1_test_revised.sql
2-winequality-red.sql
1-9income statement.sql
1-9company operating.sql
1-7market data.sql

脚本文件名前面的序号表示用到该数据集的题目序号,例如1-7market data.sql表示第1题和第7题用到了该数据集。
同样的,这里给大家的也是sql脚本,里面是插入数据的语句,大家只需打开后在MySQL环境中运行即可将数据导入到数据表中。

练习题1:

数据来源:https://tianchi.aliyun.com/dataset/dataDetail?dataId=1074

请使用A股上市公司季度营收预测数据集《Income Statement.xls》和《Company Operating.xlsx》和《Market Data.xlsx》,以Market Data为主表,将三张表中的TICKER_SYMBOL为600383和600048的信息合并在一起。只需要显示以下字段。

取出每张表的对应字段
left join on ticker_symbol 和 end_date

SELECT MarketData.*,OperatingData.INDIC_NAME_EN,OperatingData.VALUE,IncomeStatement.N_INCOME,IncomeStatement.T_COGS,IncomeStatement.T_REVENUEFROM (SELECT TICKER_SYMBOL,END_DATE,CLOSE_PRICEFROM `market data`WHERE TICKER_SYMBOL IN ('600383','600048') ) MarketDataLEFT JOIN -- operating data(SELECT TICKER_SYMBOL,INDIC_NAME_EN,END_DATE,VALUEFROM `company operating`WHERE TICKER_SYMBOL IN ('600383','600048') ) OperatingDataON MarketData.TICKER_SYMBOL = OperatingData.TICKER_SYMBOLAND MarketData.END_DATE = OperatingData.END_DATELEFT JOIN -- income statement(SELECT DISTINCT TICKER_SYMBOL,END_DATE,T_REVENUE,T_COGS,N_INCOMEFROM `income statement`WHERE TICKER_SYMBOL IN ('600383','600048') ) IncomeStatement
ON MarketData.TICKER_SYMBOL = IncomeStatement.TICKER_SYMBOLAND MarketData.END_DATE = IncomeStatement.END_DATE
ORDER BY MarketData.TICKER_SYMBOL, MarketData.END_DATE;

练习题2:

数据来源:https://tianchi.aliyun.com/dataset/dataDetail?dataId=44

请使用 Wine Quality Data 数据集《winequality-red.csv》,找出 pH=3.03的所有红葡萄酒,然后,对其 citric acid 进行中式排名(相同排名的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”)

解读

条件1:where ph =3.03
条件2:排名使用dense_rank

select pH ,`citric acid` ,dense_rank () over (order by `citric acid`) rankac
from `winequality-red` wr
where pH = '3.03';

练习题3:

数据来源:https://tianchi.aliyun.com/competition/entrance/231593/information

使用Coupon Usage Data for O2O中的数据集《ccf_offline_stage1_test_revised.csv》,试分别找出在2016年7月期间,发放优惠券总金额最多和发放优惠券张数最多的商家。

这里只考虑满减的金额,不考虑打几折的优惠券。

解读

条件1:年为2016,月份为07,数据只有2016年
条件2:group by merchant_id,sum(amount)
amount 计算 substring_index(discount_rate,":",-1) 最后一个冒号之后的数据

select Merchant_id ,sum( substring_index(Discount_rate,':',-1) ) amount
from ccf_offline_stage1_test_revised costr
where month (Date_received)='07'
group by Merchant_id
ORDER BY cnt DESC
limit 1;

SELECT Merchant_id,COUNT(1) AS cnt
FROM ccf_offline_stage1_test_revised
WHERE Date_received BETWEEN '2016-07-01' AND '2016-07-31'
GROUP BY Merchant_id
ORDER BY cnt DESC
LIMIT 1;

练习题4:

数据来源:https://tianchi.aliyun.com/dataset/dataDetail?dataId=1074

请使用A股上市公司季度营收预测中的数据集《Macro&Industry.xlsx》中的sheet-INDIC_DATA,请计算全社会用电量:第一产业:用电值在2015年用电最高峰是发生在哪月?并且相比去年同期增长/减少了多少个百分比?

select PERIOD_DATE
from `macro industry` mi
where year (PERIOD_DATE)=2015
and indic_id = '2020101522'
group by PERIOD_DATE
order by DATA_VALUE desc
limit 1;

SELECT BaseData.*,(BaseData.FianlValue - YoY.FianlValue) / YoY.FianlValue YoYFROM (SELECT PERIOD_DATE,MAX(DATA_VALUE) FianlValueFROM `macro industry`WHERE INDIC_ID = '2020101522'AND YEAR(PERIOD_DATE) = 2015GROUP BY PERIOD_DATEORDER BY FianlValue DESCLIMIT 1) BaseDataLEFT JOIN -- YOY(SELECT PERIOD_DATE,MAX(DATA_VALUE) FianlValueFROM `macro industry`WHERE INDIC_ID = '2020101522'AND YEAR(PERIOD_DATE) = 2014GROUP BY PERIOD_DATE ) YoYON  MONTH(BaseData.PERIOD_DATE) = MONTH(YoY.PERIOD_DATE);

练习题5:

数据来源:https://tianchi.aliyun.com/competition/entrance/231593/information

使用Coupon Usage Data for O2O中的数据集《ccf_online_stage1_train.csv》,试统计在2016年6月期间,线上总体优惠券弃用率为多少?并找出优惠券弃用率最高的商家。

弃用率 = 被领券但未使用的优惠券张数 / 总的被领取优惠券张数

--线上总体优惠券弃用率为多少?
SELECT SUM(CASE WHEN Date='0000-00-00' AND Coupon_id IS NOT NULLTHEN 1ELSE 0END) /SUM(CASE WHEN Coupon_id IS NOT NULLTHEN 1ELSE 0END) AS discard_rateFROM ccf_online_stage1_trainWHERE Date_received BETWEEN '2016-06-01' AND '2016-06-30';

SELECT Merchant_id,SUM(CASE WHEN Date is null AND Coupon_id IS NOT NULLTHEN 1ELSE 0END) /SUM(CASE WHEN Coupon_id IS NOT NULLTHEN 1ELSE 0END) AS discard_rateFROM ccf_online_stage1_trainWHERE Date_received BETWEEN '2016-06-01' AND '2016-06-30'GROUP BY Merchant_idORDER BY discard_rate DESCLIMIT 1;

练习题6:

数据来源:https://tianchi.aliyun.com/dataset/dataDetail?dataId=44

请使用 Wine Quality Data 数据集《winequality-white.csv》,找出 pH=3.63的所有白葡萄酒,然后,对其 residual sugar 量进行英式排名(非连续的排名)

select pH ,`residual sugar` ,dense_rank () over(order by `residual sugar`) rankr
from `winequality-white` ww
where pH = 3.63;

练习题7:

数据来源:https://tianchi.aliyun.com/dataset/dataDetail?dataId=1074

请使用A股上市公司季度营收预测中的数据集《Market Data.xlsx》中的sheet-DATA,

计算截止到2018年底,市值最大的三个行业是哪些?以及这三个行业里市值最大的三个公司是哪些?(每个行业找出前三大的公司,即一共要找出9个)

SELECT TYPE_NAME_CN,SUM(MARKET_VALUE)FROM `market data`
WHERE END_DATE = '2018-5-31'
GROUP BY TYPE_NAME_CN
ORDER BY SUM(MARKET_VALUE) DESC
LIMIT 3;

练习题8:

数据来源:https://tianchi.aliyun.com/competition/entrance/231593/information

使用Coupon Usage Data for O2O中的数据集《ccf_online_stage1_train.csv》和《ccf_offline_stage1_train.csv》,试找出在2016年6月期间,线上线下累计优惠券使用次数最多的顾客。

SELECT User_id,SUM(couponCount) couponCountFROM (SELECT User_id,count(*) couponCountFROM `ccf_online_stage1_train`WHERE (Date is not null AND Coupon_id is not null)AND (LEFT(DATE,4)=2016 )GROUP BY User_idUNION ALLSELECT User_id,COUNT(*) couponCountFROM `ccf_offline_stage1_train`WHERE (Date is not null AND Coupon_id is not null)AND (LEFT(DATE,4)=2016 )GROUP BY User_id ) BaseDataGROUP BY User_idORDER BY SUM(couponCount) DESCLIMIT 1;
;

练习题9:

数据来源:https://tianchi.aliyun.com/dataset/dataDetail?dataId=1074

请使用A股上市公司季度营收预测数据集《Income Statement.xls》中的sheet-General Business和《Company Operating.xlsx》中的sheet-EN。

找出在数据集所有年份中,按季度统计,白云机场旅客吞吐量最高的那一季度对应的净利润是多少?(注意,是单季度对应的净利润,非累计净利润。)

SELECT *FROM (SELECT TICKER_SYMBOL,YEAR(END_DATE) Year,QUARTER(END_DATE) QUARTER,SUM(VALUE) AmountFROM `company operating`WHERE INDIC_NAME_EN = 'Baiyun Airport:Passenger throughput'GROUP BY TICKER_SYMBOL,YEAR(END_DATE),QUARTER(END_DATE)ORDER BY SUM(VALUE) DESCLIMIT 1 ) BaseDataLEFT JOIN -- income statement(SELECT TICKER_SYMBOL,YEAR(END_DATE) Year,QUARTER(END_DATE) QUARTER,SUM(N_INCOME) AmountFROM `income statement`GROUP BY TICKER_SYMBOL,YEAR(END_DATE),QUARTER(END_DATE) ) IncomeON BaseData.TICKER_SYMBOL = Income.TICKER_SYMBOLAND BaseData.Year = Income.YearAND BaseData.QUARTER = Income.QUARTER;

练习题10:

数据来源:https://tianchi.aliyun.com/competition/entrance/231593/information

使用Coupon Usage Data for O2O中的数据集《ccf_online_stage1_train.csv》和《ccf_offline_stage1_train.csv》,试找出在2016年6月期间,线上线下累计被使用优惠券满减最多的前3名商家。

比如商家A,消费者A在其中使用了一张200减50的,消费者B使用了一张30减1的,那么商家A累计被使用优惠券满减51元。

select Merchant_id,sum( substring_index(discount_rate,":",-1) ) sum1from (select Merchant_id,Discount_ratefrom ccf_offline_stage1_train cost where year(`Date`) = 2016and Discount_rate is not null and month (`Date`)= 6and Coupon_id is not null union all select Merchant_id ,Discount_ratefrom ccf_online_stage1_train cost2  where year(`Date`) = 2016and month (`Date`)= 6and Discount_rate is not nulland Coupon_id is not null ) all1group by merchant_id order by sum1 desc limit 1;

天池slq笔记-task06相关推荐

  1. 【天池学习笔记】二手车交易价格预测

    文章目录 1.赛题理解 1.1背景 1.2 赛制 1.3赛题数据 1.4评测标准 1.5结果格式 总结 2.Baseline 3.探索性数据分析EDA 3.1介绍 3.2常用绘图 3.3相关性,独立性 ...

  2. SQL学习笔记——task06:SQL综合练习

    SQL语言-综合练习 练习一:各部门工资最高的员工(难度:中等) 创建Employee表,包含所有员工信息,每个员工有其对应的id,salary和 department id. create tabl ...

  3. 机器学习笔记-LightGBM

    LightGBM 中文文档中文文档:https://lightgbm.apachecn.org/#/ 天池学习笔记:AI训练营机器学习-阿里云天池 LightGBM的介绍 LightGBM是2017年 ...

  4. 机器学习笔记-XGBoost

    天池学习笔记:AI训练营机器学习-阿里云天池 XGBoost参数调优完全指南(附Python代码)_工药叉的经文-CSDN博客_xgboost参数调优 XGBoost的介绍 XGBoost是2016年 ...

  5. 机器学习笔记-基于逻辑回归的分类预测

    天池学习笔记:AI训练营机器学习-阿里云天池 基于逻辑回归的分类预测 1 逻辑回归的介绍和应用 1.1 逻辑回归的介绍 逻辑回归(Logistic regression,简称LR)虽然其中带有&quo ...

  6. datawhale课程《transformers入门》笔记6:文本分类、超参搜索

    Transformers解决文本分类任务.超参搜索 本文主要内容转自天国之影笔记Task06,之后具体的API进行了一些查询,写了一些说明. 文章目录 Transformers解决文本分类任务.超参搜 ...

  7. Python 基础部分(三)

    Python 基础部分(三) -- 第三阶段 写在前面: 由于笔者已经学习过C/C++/Java的基本语法,故此笔记会省略部分相同或比较基础的知识点,而更加侧重python语言的特性和不同处,存在的疏 ...

  8. 本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql” Task06学习笔记

    本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql" Task06学习笔 ...

  9. 【学习笔记】阿里云天池龙珠计划SQL训练营-Task06:综合练习题-10道经典题目

    本笔记为阿里云天池龙珠计划SQL训练营的学习内容 链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql 练习题1: 请使用A股上市公司 ...

最新文章

  1. Spring3MVC+Mybatis3.1框架下的事务
  2. 华为鸿蒙适配计划,华为鸿蒙适配计划提前曝光,快看看有你的机型吗?
  3. qt连接mysql创建表_Qt编译mysql以及创建表后进行导入操作
  4. git 修改分支名字_基础Git操作与GitHub协作吐血整理,收好!| 原力计划
  5. 浏览器的DNS缓存查看和清除
  6. 利用ES4封装Windows10
  7. 2020公务员考试应届毕业生的身份界定
  8. python 调用大漠
  9. Apache-Commons-FileIOUtils工具类常用方法使用
  10. vs2015卸载指南
  11. linux 手机遥控器,哪一个最适用?五款常用手机万能遥控器对比体验
  12. 典型的DOS攻击技术
  13. 苹果电脑如何同时运行Mac和Windows--pd18
  14. 一起读Apache ServiceComb
  15. eclipse注释出现问号
  16. 线上写入数据不成功,本地没问题的解决方法
  17. 初学编程者必知的五个网站
  18. C/C++编译器 GCC 默认 C++ 17
  19. python小游戏大合集(有注释,持续更新)
  20. Docker之container ls命令

热门文章

  1. 小程序中使用threeJs渲染3D场景
  2. eul 1.5.1中文版-一款支持m1芯片的mac电脑系统查看工具
  3. 简报 | 菲律宾:计划打造“亚洲加密谷”,定位亚洲最理想区块链投资目的地
  4. Web测试的思维导图
  5. 仓管云——企业云erp功能有哪些?
  6. Java+spring boot+mybatis plus+redis实现企业微信扫码登录并同步通讯录到数据库表中
  7. 天翼智联与九州云正式达成边缘战略合作
  8. 云之道知识付费V2系统V2.5.5源码
  9. matlab 脸部血容积脉搏波,一种人体光电容积脉搏波频谱特征的快速提取方法
  10. 设置img的默认图片