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

创建网站是怎么赚钱的百度趋势搜索

创建网站是怎么赚钱的,百度趋势搜索,加强医院网站建设,格子三合一交友婚恋网站模板1、定义 语法结构: ** 开窗函数|聚合函数 over([分组函数] [排序函数] [自定义窗口]) ** 分组函数:partition by ...,根据指定的字段对表分组,分组字段可以有多个。省略时表示整个表为一组。 排序函数:order by ...&…

1、定义 

语法结构: ** 开窗函数|聚合函数 over([分组函数] [排序函数] [自定义窗口]) **

分组函数:partition by ...,根据指定的字段对表分组,分组字段可以有多个。省略时表示整个表为一组。

排序函数:order by ...,排序字段也可以有多个,当排序字段为多个时表示先按照第一个字段排序,当第一个字段相等确定不了顺序时再按照第二个字段排序,以此类推…

自定义窗口:mysql中的窗口类型有两种:rows和range。rows是以物理行距离为基准通过计算与当前行的物理距离计算窗口大小,range是以当前行的值为基准通过计算与当前行值的差值计算窗口大小。

窗口大小可通过between 上界 and 下界来指定,其中,窗口的上下界分别有下面几种取值:

  • unbounded preceding:包含当前行及当前行之前的所有记录。
  • n preceding:包含当前行及当前行之前的n-1行,实际窗口大小n。
  • current row:仅包含当前行。
  • unbounded following:包含当前行及当前行之后的所有记录。
  • n following:包含当前行及当前行之后的n-1行,实际窗口大小n。

当窗口下界为current row时,可以不使用between and,也就是下面几种情况可简写:

  1. between unbounded preceding and current row --> unbounded preceding
  2. between n preceding and current row --> n preceding
  3. between current row and current row --> current row

排序

  • row_number() over() 从小到大依次排序 如:1,2,3,4,5
  • rank() over() 相同数据并列保存,下一个值跳值,如:1,2,2,4
  • dense_rank() over() 相同数据并列保存,不存着断值,如:1,2,2,3,3,3,4

位移

  • lag(字段,往下位移行数,往下没有行时默认值) over()
  • lead(字段,往上位移行数,往上没有行时默认值) over()

求和

  • sum(字段) over()

指定顺序的字段值:

  • first_value(col):取窗口中字段col的第一个值。
  • last_value(col):取窗口中字段col的最后一个值。
  • nth_value(col, n):取窗口中第n顺序的值。

2、语法

  • 方式一:按照列所有行进行分组

over(partition by 列)

  • 方式二:按照列排序

over(order by 列)

  • 方式三:按照列1分组,按照列2排序

over(partition by 列1 order by 列2)

3、练习

源数据sql:

CREATE TABLE `student_scores` (
  `sid` INT PRIMARY KEY,
  `student_id` INT,
  `student_name` VARCHAR(50),
  `course_id` INT,
  `course_name` VARCHAR(50),
  `num` INT
);

INSERT INTO `student_scores` (`sid`, `student_id`, `student_name`, `course_id`, `course_name`, `num`) VALUES
(1, 1, 'Alice', 1, 'Math', 10),
(2, 1, 'Alice', 2, 'Physics', 9),
(5, 1, 'Alice', 4, 'Biology', 66),
(6, 2, 'Bob', 1, 'Math', 8),
(8, 2, 'Bob', 3, 'Chemistry', 68),
(9, 2, 'Bob', 4, 'Biology', 99),
(10, 3, 'Charlie', 1, 'Math', 77),
(11, 3, 'Charlie', 2, 'Physics', 66),
(12, 3, 'Charlie', 3, 'Chemistry', 87),
(13, 3, 'Charlie', 4, 'Biology', 99),
(14, 4, 'David', 1, 'Math', 79),
(15, 4, 'David', 2, 'Physics', 11),
(16, 4, 'David', 3, 'Chemistry', 67),
(17, 4, 'David', 4, 'Biology', 100),
(18, 5, 'Eve', 1, 'Math', 79),
(19, 5, 'Eve', 2, 'Physics', 11),
(20, 5, 'Eve', 3, 'Chemistry', 67),
(21, 5, 'Eve', 4, 'Biology', 100),
(22, 6, 'Frank', 1, 'Math', 9),
(23, 6, 'Frank', 2, 'Physics', 100),
(24, 6, 'Frank', 3, 'Chemistry', 67),
(25, 6, 'Frank', 4, 'Biology', 100);

# 每门学科的第一名,有并列的情况一起就一起展示
SELECT* 
FROM( SELECT *, DENSE_RANK() over ( PARTITION BY course_id ORDER BY source DESC ) AS num FROM student_scores ) xx 
WHERExx.num <=1;#每个人不同学科中的最高分
SELECT* 
FROM( SELECT *, DENSE_RANK() over ( PARTITION BY student_id ORDER BY source DESC ) AS num FROM student_scores ) xx 
WHERExx.num <=1;#每门学科的平均分
SELECTcourse_name,courseAvg	
FROM( SELECT *,avg(source) as courseAvg, ROW_NUMBER() over ( PARTITION BY course_id ORDER BY source DESC ) AS num FROM student_scores GROUP BY course_id ) xx ;#每人课程得分高于课程平均分的数量
SELECTstudent_name,SUM(CASE WHEN source > courseAvg THEN 1ELSE 0END) as 及格数
FROM( SELECT *,avg(source) over(PARTITION by course_id  ) as courseAvg FROM student_scores GROUP BY course_id,student_id ) xx GROUP BY xx.student_id

http://www.hrbkazy.com/news/8566.html

相关文章:

  • 做网站工资抖音自动推广引流app
  • 郑州经济技术开发区属于什么区seo建站教程
  • 开元棋牌网站怎么做百度网站推广怎么收费
  • 举报网站建设公司东莞网络推广系统
  • 网站空间 php程序个人外包接单平台
  • 更改网站描述制作网站代码
  • 东莞企业制作网站短视频赚钱app软件
  • 网站开发主页国内搜索引擎排名2022
  • 企业官网建设 创意网站建设新闻热搜榜 今日热点
  • 怎么学网站设计一份完整的品牌策划方案
  • 哈尔滨建筑业协会网站优秀软文范例800字
  • 怎么在住房公积金网站做减员操作外国网站开放的浏览器
  • 企业网站写好如何发布百度极速版app下载安装挣钱
  • 衡粘水佩网站建设站长之家是干什么的
  • python做电商网站上海最新新闻热点事件
  • 合肥网站优化seo自媒体运营主要做什么
  • WordPress明月浩空站长工具seo
  • 平台网站建设教程视频谷歌官网下载
  • 益保网做推广网站吗?各大搜索引擎网址
  • 网站建设费用会计入什么费用亚马逊开店流程及费用
  • 平安网站做的太差全国今日新增疫情
  • 网站架构布局网站推广seo教程
  • 用asp怎么做网站百度推广开户2400
  • 企业网站建设ejiew网络营销策划活动方案
  • 和田网站建设长春关键词优化报价
  • 空间备案网站c++线上培训机构哪个好
  • 如何做网站meta设置个人如何做网络推广
  • 个人网页设计作品集seo优化顾问服务阿亮
  • 拍卖网站模板下载关键词优化流程
  • 在线制作网站页面公司网站搭建