文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL窗口函数 PARTITION BY()函数介绍

2023-09-12 12:05

关注
# 创建数据库create database if not exists shopping charset utf8;# 选择数据库use shopping;# 创建产品表create table product(    id      int primary key,    name    varchar(20),    price   int,    type varchar(20),    address varchar(20));# 插入产品数据insert into shopping.product(id, name, price, type, address) values    (1,'商品1',200,'type1','北京'),    (2,'商品2',400,'type2','上海'),    (3,'商品3',600,'type3','深圳'),    (4,'商品4',800,'type1','南京'),    (5,'商品5',1000,'type2','成都'),    (6,'商品6',1200,'type3','武汉'),    (7,'商品7',1400,'type1','黑龙江'),    (8,'商品8',1600,'type2','黑河'),    (9,'商品9',1800,'type3','贵州'),    (10,'商品10',2000,'type1','南宁');

一、函数类型

group by 是分组函数,partition by是分析函数

二、执行顺序

from > where > group by > having > order,而partition by应用在以上关键字之后,可以简单理解为就是在执行完select之后,在所得结果集之上进行partition by分组

二、查询结果

partition by 相比较于group by,能够在保留全部数据的基础上,只对其某些字段做分组排序,而group by则保留参与分组的字段和聚合函数的结果,类似excel中的透视表

# 查询每种商品的id,name,同类型商品数量select id,name,count(*) over (partition by type) from product;
# 查询每个城市每个类型价格最高的商品名称select       name,       price,       type,       max(price) over (partition by address,type) as 'max_price'from product;

来源地址:https://blog.csdn.net/feizuiku0116/article/details/126127948

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯