当前位置: 首页 > news >正文

海外网站制作市场营销策略有哪4种

海外网站制作,市场营销策略有哪4种,bootstrap手机网站模板,精英学校老师给学生做的网站需要SQL学习资料的同学见文末的资料领取方法。对于窗口函数,比如row_number(),rank(),dense_rank(),NTILE(),PERCENT_RANK()等等,现在MySQL8.0版本已经支持了!这是一个原始数据表,数据用于测试第…

需要SQL学习资料的同学见文末的资料领取方法。

对于窗口函数,比如row_number(),rank(),dense_rank(),NTILE(),PERCENT_RANK()等等,现在MySQL8.0+版本已经支持了!

这是一个原始数据表,数据用于测试

3bc53b658d0cb8a41b540f9fcecea7fc.png

第一部分:开窗函数和排名类函数结合

1.使用SQL查看工资排名(注意,这个功能如果没有开窗函数还是比较难写的哦,有兴趣可以试一下, 但是现在却如此简单! )

SELECT
       `name`,
       `dept`,
       `salary`,
       row_number () over (PARTITION BY `dept` ORDER BY salary DESC ) AS salary_rank
FROM
       t_user

得到结果:

77b2257e5eb76f0e8dada90d80d9ecae.png

2.使用开窗函数计算每个部门工资最高的前3个人 (这个功能如果没有开窗函数会很复杂)

SELECT
*
FROM
(
SELECT
`name`,
`dept`,
`salary`,
row_number () over (PARTITION BY `dept` ORDER BY salary DESC) AS salary_rank
FROM
t_user
) AS tmp
WHERE
tmp.salary_rank <= 3

得到结果:

77d6e6f80432d1d1827523faf9a86502.png

和上面 row_number()非常类似的一个开窗函数还有 rank()

rank函数用于返回结果集的分区内每行的排名,行的排名是相关行之前的排名数加一。简单来说rank函数就是对查询出来的记录进行排名,与row_number函数不同的是,rank函数考虑到了over子句中排序字段值相同的情况,如果使用rank函数来生成序号,over子句中排序字段值相同的序号是一样的,后面字段值不相同的序号将跳过相同的排名号排下一个,也就是相关行之前的排名数加一,可以理解为根据当前的记录数生成序号,后面的记录依此类推。

dense_rank函数的功能与rank函数类似,dense_rank函数在生成序号时是连续的,而rank函数生成的序号有可能不连续。dense_rank函数出现相同排名时,将不跳过相同排名号,rank值紧接上一次的rank值。在各个分组内,rank()是跳跃排序,有两个第一名时接下来就是第三名,dense_rank()是连续排序,有两个第一名时仍然跟着第二名。

第二部分:开窗函数和SUM()等聚合函数结合

SELECT
`name`,
`dept`,
`salary`,
SUM(salary) over (PARTITION BY `dept`)
FROM
t_user

结果可以看到,这个语句效果和SUM()配合Group BY 使用效果是一样的,只是结果集格式不同而已:

cb5fdbfa129c82df157f122268db93fe.png

但是,在上面的语句中加上ORDER BY之后,结果就完全不同了!需要特别注意

SELECT
`name`,
`dept`,
`salary`,
SUM(salary) over (PARTITION BY `dept` ORDER BY salary ASC)
FROM
t_user

结果:

e014a9975782f21aebb442912745eea8.png

总结规律: 有order by;按照排序连续累加;无order by,计算partition by后的和;over()中没有partition by,计算所有数据总和

同时,order by 的ASC和DESC也会导致结果不同!

第三部分 分析函数(lag、lead)

lag与lead函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行数据过滤。这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。

lead() over([partition by prov_name [ORDER BY val_cnt]])

lag、lead有三个参数,第一个是表达式或字段,第二个是偏移量,第三个是为控制默认赋值

例如:lead(field, num, defaultvalue) field需要查找的字段,num往后查找的num行的数据,defaultvalue没有符合条件的默认值。

SELECT
`name`,
`dept`,
`salary`,
lag (salary, 1) over (PARTITION BY `dept` ORDER BY salary DESC)
FROM
t_user

得出以下结果

91451b112d9c90f7b3b24fa68fa9d148.png

分析函数执行后结果,可以看出来,lag函数就是把同个partition组内的order by排名上一条放到自己后面作为一个新列,

这个效果在需要错位相减,做逐差计算增长率之类的时候简直就是神器!

lead()函数和lag函数左右相反,偏移的方向不同而已

SELECT
`name`,
`dept`,
`salary`,
lead (salary, 1) over (PARTITION BY `dept` ORDER BY salary DESC) '分析函数结果'
FROM
t_user

结果:

92cdd452641915e4af26fa7457a32980.png

资料的领取方法(任选一):

1. 分享此篇文章到朋友圈,并获得5个赞。

2. 分享本文到100人以上的数据分析微信群(温馨提醒,小心被T)。

完成后,加微信 L23683716,发截图,我们会尽快给您发送资料。

学习交流请加小编入群。

44a3618f34a969b92d17a70b7f9d2eb9.gif24cddf4691d26f0fe45bfcf35a9069c8.png
http://www.lbrq.cn/news/2530531.html

相关文章:

  • python做的知名网站seo关键字优化
  • 做问卷网站营销计划
  • 广州 日本 设计网站做网站的公司哪家最好
  • 做期货看啥子网站关键词优化排名软件s
  • 团队网站怎么做谷歌搜索引擎
  • 少儿编程十大培训机构seo入门培训课程
  • 南京网站建设公司哪家好百度一下就知道了官网榡
  • 网站设置主页在哪里手机建站
  • 电子商务企业网站的推广方式成都计算机培训机构排名前十
  • 海外域名注册网站网站查询工具seo
  • 怎么查看网站有没有做推广竞价恶意点击犯法吗
  • 安监局网站建设软文写作什么意思
  • 建设一个网站需要哪些推广方案策划
  • 商城网站建设平台手机百度收录提交入口
  • 南阳做网站优化哪家好黄冈seo顾问
  • 产品网站用什么软件做清远新闻最新
  • 宁波北京网站建设百度推广是做什么的
  • 建网站都要什么费用上海百度公司总部
  • 湘潭做网站价格找磐石网络一流百度竞价推广登陆
  • 数据库2008做企业网站优化网站软文
  • 做网站赌博代理的犯法么模板免费下载网站
  • 网上做兼职网站公司网站怎么弄
  • 只做美食类目产品的网站关键词搜索热度
  • 只做汽车的网站社群推广平台
  • 沈阳网站建设公司千锋教育培训机构怎么样
  • 优酷网站怎么做的怎么让网站被百度收录
  • 做简单的网站首页一个自己的网站
  • 专业做家居的网站有哪些网络营销的六大功能
  • 做网站投诉要钱吗网络营销的成功案例分析
  • ps网站设计怎么做域名注册查询
  • 大模型流式长链接场景下 k8s 优雅退出 JAVA
  • 【力扣热题100】哈希——字母异位词分组
  • 【swoole Windows 开发(swoole-cli 开发 hyperf)】
  • 【Rust多进程】征服CPU的艺术:Rust多进程实战指南
  • Redis的持久化策略-AOF和RDB(详细图解)
  • 随缘玩 一: 代理模式