0
点赞
收藏
分享

微信扫一扫

T a s k 0 6:综合练习题笔记

小磊z 2022-05-02 阅读 25
sql

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

1.SELECT MarketData.*,
OperatingData.INDIC_NAME_EN,
OperatingData.VALUE,
IncomeStatement.N_INCOME,
IncomeStatement.T_COGS,
IncomeStatement.T_REVENUE
FROM(
SELECT TICKER_SYMBOL,
END_DATE,
CLOSE_PRICE
FROM market data
WHERE TICKER_SYMBOL IN ('600383','600048')) MarketData LEFT JOIN -- operating data
(SELECT TICKER_SYMBOL,
INDIC NAME EN,
END DATE,
VALUE
FROM company operating
WHERETICKER_SYMBOL IN ('600383','600048')) OperatingData ON MarketData.TICKER_SYMBOL = OperatingData.TICKER_SYMBOL AND MarketData.END_DATE = OperatingData.END_DATE
LEFT JOIN -- income statement
(SELECT DISTINCT TICKER_SYMBOL,
END_DATE,
T_REVENUE,
T_COGS,
N INCOME
FROM income statement
WHERE TICKER_SYMBOL IN ('600383','600048')) IncomeStatement ON MarketData.TICKER_SYMBOL = IncomeStatement.TICKER_SYMBOL AND MarketData.END_DATE = IncomeStatement.END_DATE
ORDER BY MarketData.TICKER_SYMBOL, MarketData.END_DATE

2.

--发放优惠卷总金额最多的商家

SELECT Merchant_id,
-- SUM(SUBSTRING_INDEX(Discount_rate`,':', 1)) AS sale_amount, SUM(SUBSTRING_INDEX( Discount_rate`,':',-1)) AS discount_amount FROM ccf_offline_stagel_test_revised
WHERE Date_received BETWEEN '2016-07-01'AND '2016-07-31'
GROUP BY Merchant_id
ORDER BY discount _amount DESC
LIMIT 1;
--发放优惠券张数最多的商家
SELECT Merchant_id,COUNT(1) AS cnt
FROM ccf_offline_stagel_test_revised
WHERE Date_received BETWEEN '2016-07-01' AND '2016-07-31'
GROUP BY Merchant id
ORDER BY cnt DESC
LIMIT 1;

3.

SELECT User_id,
SUM(couponCount) couponCount
FROM(SELECT User_id,
count(*) couponCount
FROMccf_online_stagel_train~
WHERE(Date !='null' AND Coupon_id!='null')AND(LEFT(DATE,4)=2016)
GROUP BY User_id
UNION ALL
SELECT User_id,
COUNT(*) couponCount
FROMccf_offline_stagel_train
WHERE (Date !='null' AND Coupon_id !='null') AND (LEFT(DATE,4)=2016)
GROUP BY User_id ) BaseData
GROUP BY User id
ORDER BY SUM(couponCount) DESC
LIMIT 1
 

举报

相关推荐

0 条评论