力扣sql简单篇练习(二十一)

力扣sql简单篇练习(二十一)

1 使用唯一标识符替换员工ID

1.1 题目内容

1.1.1 基本题目信息

力扣sql简单篇练习(二十一)_第1张图片

1.1.2 示例输入输出

力扣sql简单篇练习(二十一)_第2张图片

1.2 示例sql语句

# Write your MySQL query statement below
SELECT e2.unique_id,e1.name
FROM Employees e1
LEFT JOIN EmployeeUNI e2
ON e1.id=e2.id

1.3 运行截图

力扣sql简单篇练习(二十一)_第3张图片

2 净现值查询

2.1 题目内容

2.1.1 基本题目信息

力扣sql简单篇练习(二十一)_第4张图片

2.1.2 示例输入输出

a 示例输入

力扣sql简单篇练习(二十一)_第5张图片

b 示例输出

力扣sql简单篇练习(二十一)_第6张图片

2.2 示例sql语句

# Write your MySQL query statement below
SELECT q.id,q.year,IFNULL(n.npv,0) npv
FROM Queries q
LEFT JOIN NPV n
ON q.id=n.id AND q.year=n.year

2.3 运行截图

力扣sql简单篇练习(二十一)_第7张图片

3 制作会话柱状图

3.1 题目内容

3.1.1 基本题目信息

力扣sql简单篇练习(二十一)_第8张图片

3.1.2 示例输入输出

力扣sql简单篇练习(二十一)_第9张图片

3.2 示例sql语句

# case when  条件 then 显示值 只有先一个case 后续都是when 条件 then 显示值的这种写法
# 对应临时表可以考虑使用union来生成
SELECT s3.bin,IFNULL(s2.total,0) total
FROM
(
    SELECT s.bin,count(*) total
    FROM
    (
        SELECT session_id,duration,
        case when duration/60>=0 AND duration/60<5 then '[0-5>'
            when duration/60>=5 AND duration/60<10 then '[5-10>'
            when duration/60>=10 AND duration/60<15 then '[10-15>'
            when duration/60>=15 then '15 or more'  end bin
        FROM Sessions
    )s
    GROUP BY s.bin
) s2
RIGHT JOIN
(
    SELECT '[0-5>' bin UNION
    SELECT '[5-10>' bin UNION
    SELECT '[10-15>' bin UNION
    SELECT '15 or more' bin
) S3
ON s3.bin=s2.bin

3.3 运行截图

力扣sql简单篇练习(二十一)_第10张图片

你可能感兴趣的:(力扣简单篇练习(出现频率降序),leetcode,sql简单篇练习,mysql)