📣 Back to School开学季 - VIP通行证5折优惠!蓝莓、Offer多多同步优惠
楼主: crystalcc
跳转到指定楼层
上一主题 下一主题
收起左侧

SQL刷题记录 求战友互相督促交流

 
🔗
viviantx 2019-7-1 06:55:53 | 只看该作者
全局:
加我一个吧,我也要刷sql.. Waral dи,
回复

使用道具 举报

🔗
iilla 2019-7-5 10:36:50 | 只看该作者
全局:
我也刚开始刷sql,求队友互相监督,可以加我katezzzhao
回复

使用道具 举报

🔗
 楼主| crystalcc 2019-7-5 20:44:13 | 只看该作者
全局:
iilla 发表于 2019-7-5 10:36
我也刚开始刷sql,求队友互相监督,可以加我katezzzhao

已加!紫薯紫薯
回复

使用道具 举报

🔗
 楼主| crystalcc 2019-7-5 20:45:01 | 只看该作者
全局:
viviantx 发表于 2019-7-1 06:55. 1point3acres
加我一个吧,我也要刷sql.

刷起来!一起盖楼呀~
回复

使用道具 举报

🔗
 楼主| crystalcc 2019-7-5 20:47:35 | 只看该作者
全局:
181. Employees Earning More Than Their Managers
SELECT e1.name as employee
FROM employee e1. 1point 3 acres
WHERE e1.managerid is not NULL and e1.salary > (SELECT e2.salary FROM employee e2 WHERE e1.managerid = e2.id). Χ
. From 1point 3acres bbs
/*不用subquery可大幅提速,耗时比解1少了一半*/. 1point 3acres
SELECT e1.name as employee
FROM employee e1, employee e2
WHERE e1.managerid is not NULL and e1.managerid = e2.id AND e1.salary > e2.salary. From 1point 3acres bbs
回复

使用道具 举报

🔗
 楼主| crystalcc 2019-7-7 16:50:39 | 只看该作者
全局:
182. Duplicate Emails
SELECT email
FROM person
GROUP BY Email
HAVING COUNT(*) > 1

SELECT DISTINCT email
FROM person p1. Waral dи,
JOIN person p2
ON p1.email = p2.email AND p1.id != p2.id
回复

使用道具 举报

🔗
 楼主| crystalcc 2019-7-7 16:50:51 | 只看该作者
全局:
196. Delete Duplicate Emails.1point3acres
DELETE .google  и
FROM person
WHERE id NOT IN (SELECT MIN(id) FROM person GROUP BY email) temp)

DELETE p1
FROM person p1, person p2
WHERE p1.email = p2.email AND p1.id > p2.id
回复

使用道具 举报

🔗
 楼主| crystalcc 2019-7-9 14:32:13 | 只看该作者
全局:
183. Customers Who Never Order
/*注意执行顺序:FROM (JOIN ON) -> WHERE 所以不需要temp table,直接选join后where即可*/.--
SELECT c.name as customers. .и
FROM customers c. From 1point 3acres bbs
LEFT JOIN orders o
ON c.id = o.customerid
WHERE temp.customerid IS NULL

SELECT name as customers. 1point 3acres
FROM customers
WHERE id NOT IN (SELECT customerid FROM orders)
/*NOT EXISTS faster than NOT IN*/. 1point 3acres
SELECT name as customers
FROM customers c
WHERE NOT EXISTS (SELECT * FROM orders o WHERE c.id = o.customerid)
回复

使用道具 举报

🔗
 楼主| crystalcc 2019-7-9 14:32:52 | 只看该作者
全局:
197. Rising Temperatures
SELECT w2.id
FROM weather w1, weather w2
WHERE DATEDIFF(w2.recorddate, w1.recorddate) = 1 AND w1.temperature < w2.temperature
.google  и
/*DATEDIFF语句也可用TO_DAYS(w2.date) - TO_DAYS(w1.date) = 1代替,TO_DAYS是从0年以来的天数,注意0000-00-00被认为是无效日期所以会返回null,0000-01-01会返回1*/. 1point 3acres
回复

使用道具 举报

🔗
 楼主| crystalcc 2019-7-9 14:33:11 | 只看该作者
全局:
262. Trips and Users
cnt(trips cancelled by unbanned users, including client & driver)/cnt(all trips)
where day between ()
SELECT request_at as day, ROUND(SUM(CASE WHEN status !=  ‘completed’ THEN 1 ELSE 0 END) / COUNT(*), 2) as cancellation rate
FROM trips t JOIN (SELECT users_id FROM users u WHERE role = ‘client’ OR role = ‘driver’) temp.
ON t.client_id = temp.users_id OR t.driver_id = temp.users_id
WHERE request_at BETWEEN '2013-10-01' AND '2013-10-03'
GROUP BY request_at.google  и
ORDER BY request_at
回复

使用道具 举报

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

本版积分规则

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