一点分享Mysql新造的轮子太好用了

上篇文章尝试用with递归解决了数组拆分为多行的问题。今天再次尝试使用json_函数解决。昨天预留的作业放在本文第二部分进行实现。

一、json函数

1、准备json数据

由于原表没有json格式的列,先构造json格式的电影类型字段,如下:

2、验证json数据

json_valid()、json_length()

3、数组拆分

前述将字段加工为json格式后,用json函数json_table(),也是非同凡响呀,更简洁,如下:

二、作业解答

昨天预留了4道题目,按此前的sql方法都能解决,现也结合今日的json函数来实现一回,加深理解。应某些朋友的反馈,只显示了影视的id字段mid而没有把影视的名称显示出来,今天满足这些朋友的需求。

1、作业题1

如下实现,用的left_join,其实用innerjoin也一样,因为都是对同一份数据进行groupbyyear得到的2个中间表,年份列自然是相同的。更严谨地,应该用日期维表再对总体结果进行leftjoin下,保证每年都有的完整性,不缺失数据。去翻翻此前的日期维表相关文章。

2、作业题2

真得有19位演员有过多部高分影视作品(这只是部分数据),厉害了。

3、作业题3

对比分析不好做,需要先列出各类对比指标,tk实际工作中还挺头疼的。本题简要处理,用平均评分、平均评分人数作为对比指标。按现在的样本数据看,联合导演的这么强吗。

4、作业题4

再次复习json_table()的用法,引入了快照概念的维度表(后续数据仓库专栏文章会有介绍,敬请


转载请注明:http://www.aierlanlan.com/tzrz/5196.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了