LeetCode(数据库)- The Number of Seniors and Juniors to Join the Company II

简介: LeetCode(数据库)- The Number of Seniors and Juniors to Join the Company II

题目链接:点击打开链接

题目大意:略。

解题思路:略。

AC 代码


WITH t AS(SELECT *, SUM(salary) OVER(PARTITION BY experience ORDER BY salary) sumn FROM Candidates),
tt AS(SELECT *, ROW_NUMBER() OVER(PARTITION BY experience ORDER BY sumn) rk FROM t),
# 解决(Senior, Junior) = (MAX, MAX) & Senior <> 0 & Junior <> 0
ttt AS(SELECT IF(t1.experience = 'Senior', t1.rk, t2.rk) Senior, IF(t2.experience = 'Junior', t2.rk, t1.rk) Junior
FROM tt t1 JOIN tt t2 ON t1.experience <> t2.experience AND t1.sumn + t2.sumn <= 70000
ORDER BY 1 DESC, 2 DESC
LIMIT 1),
# 解决(Senior, Junior) = (0, MAX)
tttt AS(SELECT MAX(rk) junior_max_rk FROM tt WHERE experience = 'Junior' AND sumn <= 70000),
# 解决(Senior, Junior) = (MAX, 0)
ttttt AS(SELECT MAX(rk) senior_max_rk FROM tt WHERE experience = 'Senior' AND sumn <= 70000)
SELECT employee_id FROM tt
WHERE experience = 'Senior' AND rk <= IF((SELECT COUNT(*) FROM ttt) = 0, 0, (SELECT * FROM ttttt))
UNION ALL
SELECT employee_id FROM tt
WHERE experience = 'Junior' AND rk <= IF((SELECT COUNT(*) FROM ttt) = 0, (SELECT * FROM tttt), IF((SELECT * FROM ttttt) > (SELECT Senior FROM ttt), 0, (SELECT Junior FROM ttt)))
目录
相关文章
|
算法
Leetcode 313. Super Ugly Number
题目翻译成中文是『超级丑数』,啥叫丑数?丑数就是素因子只有2,3,5的数,7 14 21不是丑数,因为他们都有7这个素数。 这里的超级丑数只是对丑数的一个扩展,超级丑数的素因子不再仅限于2 3 5,而是由题目给定一个素数数组。与朴素丑数算法相比,只是将素因子变了而已,解法还是和朴素丑数一致的。
98 1
|
SQL Oracle 关系型数据库
解决:Oracle数据库中Left join on 后面为null时匹配不上
解决:Oracle数据库中Left join on 后面为null时匹配不上
292 0
|
28天前
|
运维 监控 安全
【YashanDB知识库】ycm托管数据库时报错OM host ip:127.0.0.1 is not support join to YCM
总之,解决“OM host ip: 127.0.0.1 is not supported to join to YCM”的关键在于理解集群管理对IP地址的使用要求,并据此做出相应的配置调整,确保集群的稳定性和数据一致性。
13 1
|
1月前
|
关系型数据库 数据挖掘 数据库
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
44 1
|
3月前
|
SQL 数据挖掘 数据库
数据库join类型有哪些?
【8月更文挑战第2天】
137 17
数据库join类型有哪些?
|
5月前
|
存储 SQL 算法
LeetCode 题目 65:有效数字(Valid Number)【python】
LeetCode 题目 65:有效数字(Valid Number)【python】
|
6月前
|
关系型数据库 数据库
关系型数据库使用连接(JOIN)代替子查询
对于复杂的查询优化问题,建议使用数据库的性能分析工具或咨询数据库管理员或专家来获取更具体的建议。
211 1
|
6月前
|
存储 算法
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
43 0
|
6月前
|
关系型数据库 MySQL 数据库
MySQL 数据库操作指南:LIMIT,OFFSET 和 JOIN 的使用
您可以通过使用"LIMIT"语句来限制查询返回的记录数量。以下是一个示例,获取您自己的Python服务器中"customers"表中的前5条记录:
163 1
|
12月前
|
Oracle 关系型数据库 数据库
在Flink CDC中,使用Oracle 11g数据库的NUMBER类型作为主键
在Flink CDC中,使用Oracle 11g数据库的NUMBER类型作为主键
116 1