`
backspace
  • 浏览: 141753 次
文章分类
社区版块
存档分类
最新评论

Sql学习第九天——SQL 关于over

 
阅读更多

Sql学习第九天——SQL 关于over

以前总是认为over是与row_number()结合使用的,今天突然发现它还可以与count()结合。现在就来看看它是怎样与over结合的吧!

还是从例子中理解它:

建表([dbo].[Orders]  字段说明:orderid -- 订单id  , customerid -- 消费者id):

CREATE TABLE [dbo].[Orders](
    [orderid] [int] NOT NULL,
    [customerid] [char](5) COLLATE Chinese_PRC_CI_AS NULL,
PRIMARY KEY CLUSTERED 
(
    [orderid] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

向表插入数据:

insert into dbo.Orders values(1,'FRNDO');
insert into dbo.Orders values(2,'FRNDO');
insert into dbo.Orders values(3,'KRLOS');
insert into dbo.Orders values(4,'KRLOS');
insert into dbo.Orders values(5,'KRLOS');
insert into dbo.Orders values(6,'MRPHS');
insert into dbo.Orders values(7,null);

查询插入的数据:

select * from dbo.orders

结果如图:

直接上三条sql语句比较进行对比说明,这样比较明了。

sql语句一(简单的查询所有的数据):

select * from dbo.Orders

sql语句二(用到了count与over的结合):

select orderid , customerid,count(*) over(partition by customerid) as num_orders
from orders

sql语句三(用到了count与over的结合并且带上了条件):

select orderid , customerid,count(*) over(partition by customerid) as num_orders
from orders
where customerid is not null and orderid%2 = 1

结果分析图:

 

看完图可能都会明白是怎么一回事儿了,对于partition by 我前面有说(查看请点次链接)。

3
6
分享到:
评论

相关推荐

    Microsoft_SQL_Server_2005技术内幕:T-SQL查询.pdf

    本书是Inside Microsoft SQL Server 2005系列四本著作中的一本。它详细介绍了T-SQL的内部体系结构,包含了非常全面的编程参考,提供了使用Transact-SQL(T-...第9章 图、树、层次结构和递归查询 附录A 逻辑难题 索引

    SQL优化实例讲解

    V$SQL视图提供了关于数据库中所有执行过的SQL语句的信息,包括执行次数、CPU时间、等待时间等,是进行SQL调优的重要资源。通过对V$SQL视图的分析,可以深入了解数据库的运行状况,找出性能瓶颈所在。 ### 八、...

    关于分页的java程序代码 关键部分是sql语句

    对于分页的核心——SQL语句,通常使用两种主要的SQL方法: 1. **LIMIT和OFFSET**:这是MySQL等数据库支持的方法。`LIMIT`用于指定每页显示的记录数,`OFFSET`用于跳过多少条记录,以达到定位到特定页的目的。例如:...

    Microsoft SQL Server 2008技术内幕:T-SQL查询 附录A

    ### Microsoft SQL Server 2008技术内幕:T-SQL查询——附录A知识点解析 #### 1. T-SQL查询与逻辑的本质 在《Microsoft SQL Server 2008技术内幕:T-SQL查询》这本书中,作者强调了逻辑在SQL查询中的核心地位。SQL...

    VB毕业设计——vb物流管理系统设计(论文+源代码).zip

    【VB毕业设计——vb物流管理系统设计(论文+源代码).zip】是一个包含VB(Visual Basic)编程语言实现的物流管理系统的毕业设计项目。这个项目旨在帮助学生掌握VB的基本语法、控件使用以及如何构建一个完整的应用程序...

    vb程序设计课件同济大学

    8. **第9章**:可能讲解数据库访问技术,如使用ADO(ActiveX Data Objects)连接数据库,执行SQL查询,以及处理结果集。 9. **第10章**:最后,可能涵盖高级话题,如模块化编程、对象的继承和多态性,或者是网络...

    Windows mysql8.0.36.0详细安装教程,附带MySQL安装包

    3. **选择配置类型**:安装向导会提供两种配置类型——“Developer Default”(开发人员默认)和“Custom”(自定义)。开发人员默认会安装所有组件,适合初次接触MySQL的用户。自定义则允许你选择需要的特定组件,...

    RobHub:这是将Ruby on Rails与Emberjs结合在一起的一项正在进行的工作。 最终并希望这将是一个展示我撰写的文章,我的项目和我的简历的网站

    标题中的“RobHub”是一个项目,它旨在将两种强大的Web开发技术——Ruby on Rails和Ember.js——融合在一起,创建一个个人展示网站。这个网站预期的功能包括发布文章、展示项目和展示作者的简历,以此来全面展示作者...

Global site tag (gtag.js) - Google Analytics