SQL
文章平均质量分 82
Wu_Candy
这个作者很懒,什么都没留下…
展开
-
这道 Mysql 的解题思想,值得学习!
题目:(1). 前置条件:有如下数据集A,表查询结果如下图所示,设置该表为表:test_province_city。(2). 题目要求:数据集A,按照省市区分别显示为3列,为省一级时,后面没有下一级,则后两列为空,为市一级,后面没有下一级,则后一列为空。预期结果:解题思路:(1). 第1个union all的子查询,查询出省一级的信息查询结果如下:(2). 第2个union all的子查询,查询出市二级的信息查询结果如下:(3). 第3个union all的子查询,查询出区三级的信息查询结果如下原创 2022-06-14 12:49:12 · 1217 阅读 · 13 评论 -
这道sql题,有点棘手
题目:(1).前置条件:有以下数据集c和e,表查询结果如下图所示。数据集c表为:test_medicine_buy数据集e表为:test_medicine_soldtest_medicine_buy表数据:test_medicine_sold表数据:(2).题目要求:如上图的数据集c和e,某医院系统卖给患者阿莫西林X数量后去下购进记录的库存,购进记录可能是零散的。现在按 iilszh 排序,优先 iilszh 小的,依次下库存如何得到类似下面预期结果的结果集。预期结果:解题思路:(1). 子查询a, 按照原创 2022-06-12 16:41:20 · 149 阅读 · 0 评论 -
这道 SQL 题,你有不一样的解法吗?
题目:(1).前置条件:有以下数据集C,表查询结果如下图所示,设置该表为表:test_month_amount。(2).题目要求:数据集C 中 Amount 字段是每个人同一月份,不同状态的金额总和,现要求使用 sql 实现对相同月份的数据均分Amount。预期结果:解题思路:(1). 子查询B: 按照NAME和MON进行分组求数量总和查询结果如下:(2). 使用子查询C left join 子查询 B 的结果,关联条件为: NAME, MON,使用 C.AMOUNT/B.cnt 即可求得平均值查询结原创 2022-06-12 16:13:07 · 101 阅读 · 0 评论 -
Hive Sql实现高难度的 sql 需求
题目:(1).前置条件:有以下数据集I,表查询结果如下图所示,设置该表为表:test_user_scan。(2).题目要求:使用 hive sql 查询出每个用户相邻两次浏览时间之差小于三分钟的次数。预期结果:解题思路:(1). 子查询G 作为 left join 的主表,主要是为了获取所有的user_id查询结果如下:(2). 子查询H 作为 left join 的副表,主要是为了统计每个用户相邻两次浏览时间之差小于三分钟的总次数。查询结果如下:子查询H = 子查询C join 子查询D(C=原创 2022-06-12 16:08:18 · 536 阅读 · 0 评论