回复: 19
跳转到指定楼层
上一主题 下一主题
收起左侧

求教几道SQL的面经

全局:

2018(1-3月) 分析|数据科学类 硕士 全职@linkedin - 内推 - 其他  | | Fail | 在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
有人愿意post一下这两道题的SQL codes? 方便交流学习。从面经里总结的,也有自己的面经,先谢谢大家。本人SQL有点弱,得向各位大神学习。
1 sql. 1point 3acres
Table 1: Campaigns
Account_id (AID) | Campaign_id (CID)
1     123
1    234
2    235

Table 2:  Spend
Campaign_id (CID) | Date | Spend_amount | Currency
123  2017-08-01 200 USD
123 2017-08-02 150 USD
234 2017-09-01 500 USD
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
color="white">,

上一篇:SIG面经
下一篇:亚麻BA电面
推荐
magicsets 2018-1-20 04:27:38 | 只看该作者
全局:
第二题用Common Table Expression分解一下计算过程可以稍微简洁清晰一点:

  1. CREATE TABLE Campaigns (
  2.   a_id INT,
  3.   c_id INT
  4. );

  5. CREATE TABLE Spend (
  6.   c_id INT,
  7.   s_date DATE,.--
  8.   s_amount DECIMAL,. .и
  9.   s_currency TEXT
  10. );

  11. CREATE TABLE ExchangeRate(
  12.   e_currency TEXT,
  13.   e_rate DECIMAL
  14. ); ..

  15. INSERT INTO Campaigns
  16. VALUES (1, 123), (1, 234), (2, 235);

  17. INSERT INTO Spend
  18. VALUES (123, '2017-08-01', 200, 'USD'),
  19.        (123, '2017-08-02', 150, 'USD'),
  20.        (234, '2017-09-01', 500, 'USD'),
  21.        (235, '2017-07-01', 100, 'CAD');

  22. INSERT INTO ExchangeRate. ----
  23. VALUES ('CAD', 0.79), ('USD', 1.00);

  24. . 1point 3acres

  25. -- Q1: CID, total spend in USD
  26. SELECT c_id, SUM(s_amount * e_rate)
  27. FROM Spend JOIN ExchangeRate ON s_currency = e_currency. 1point 3acres
  28. GROUP BY c_id;
  29. . 1point3acres.com

  30. -- Q2: AID, number of days from first spend date to highest spend date
  31. WITH SummaryTable AS (. Waral dи,
  32.   SELECT a_id, s_date, SUM(s_amount * e_rate) AS t_amount
  33.   FROM Campaigns C JOIN Spend S ON C.c_id = S.c_id
  34.                    JOIN ExchangeRate ON s_currency = e_currency
  35.   GROUP BY a_id, s_date. Waral dи,
  36. ), FirstSpend AS (
  37.   SELECT a_id, MIN(s_date) AS s_date
  38.   FROM SummaryTable
  39.   GROUP BY a_id
  40. ), HighestSpend AS (
  41.   SELECT a_id, s_date
  42.   FROM (.--
  43.     SELECT a_id, s_date,
  44.            ROW_NUMBER() OVER(PARTITION BY a_id ORDER BY t_amount DESC) AS rk
  45.     FROM SummaryTable
  46.   ) T. .и
  47.   WHERE rk = 1-baidu 1point3acres
  48. )
  49. SELECT F.a_id, H.s_date - F.s_date AS days
  50. FROM FirstSpend F JOIN HighestSpend H ON F.a_id = H.a_id;
复制代码

评分

参与人数 1大米 +2 收起 理由
Blancaca + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

推荐
magicsets 2018-1-20 04:13:15 | 只看该作者
全局:
这个可以在线调试:

http://sqlfiddle.com/#!17/9e13b/8

评分

参与人数 1大米 +1 收起 理由
paradox2013 + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
第一题楼主应该是最佳解
我想麻烦了. .и
.--
SELECT CID, sum(spendinusd) from . 1point3acres
(
select *, spend_amount*rate as spendinusd from spend a. 1point3acres
join exchange_rate b on a.currency = b.currency
)
GROUP BY 1
回复

使用道具 举报

全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
linbaobei001 2018-1-20 03:18:56 | 只看该作者
全局:
q1: select CID,spend_amount from Spend group by CID having Currency ='USD'
回复

使用道具 举报

🔗
linbaobei001 2018-1-20 03:19:40 | 只看该作者
全局:
linbaobei001 发表于 2018-1-20 03:18. Χ
q1: select CID,spend_amount from Spend group by CID having Currency ='USD'

写错了,,555 怎么撤回啊
回复

使用道具 举报

🔗
linbaobei001 2018-1-20 03:24:31 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
卷卷卷卷 2018-1-20 04:12:43 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
linbaobei001 2018-1-20 09:10:16 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
卷卷卷卷 2018-1-24 00:44:49 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表