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

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
分享到:
评论

相关推荐

    Sql Server——Sql性能优化

    Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化

    SQLServer2012王者归来——基础、安全、开发及性能优化

    资源名称:SQL Server 2012王者归来——基础、安全、开发及性能优化内容简介:本书由浅入深,全面细致地讲述了SQL Server 2012的功能特性和开发应用。从SQL Server数据库基础到数据库安全,再到SQL Server开发及...

    SQL优化的好工具——SQL Expert介绍.pdf

    利用“SQL Comparor”工具,它可以将原始的SQL语句和经过Syntactical SQLOptimizer调整后的SQL语句进行比较,通过这种直接的比较和反馈,开发者可以学习到如何编写更高效的SQL代码。 使用SQL Expert进行SQL语句的...

    SQL——server_学习

    学习SQL——server! ppt 文档~

    SQL.Prompt.Keygen——SQLPrompt_9.5.0.9311.7z

    SQLPrompt9.5安装+注册工具+安装步骤

    sqlserver————oracle工具

    在"sqlserver——oracle工具"的标题中,我们关注的是在SQL Server和Oracle之间进行数据迁移的工具。常见的数据迁移工具有: 1. Oracle SQL Developer Data Pump:Oracle官方提供的免费工具,可以方便地导入导出数据...

    Sql学习第一天——SQL 练习题(建表/sql语句)

    在SQL学习的第一天,我们遇到了一个关于建表和编写SQL语句的练习题。这个问题的目标是找出所有来自马德里(Madrid)并且订单数量少于3的消费者。首先,让我们详细了解一下如何创建相关的数据库表格。 建表是数据库...

    Sql学习第三天——SQL 关于with ties介绍

    关于with ties 对于with ties一般是和Top , order by相结合使用的,会查询出最后一条数据额外的返回值(解释:如果按照order by 参数排序TOP n(PERCENT)返回了前面n(pencent)个记录,但是n+1…n+k条记录和排序后...

    学习笔记——sql.zip

    "学习笔记——sql.zip"这个压缩包文件很可能包含了关于SQL的学习资料,如教程、笔记、示例代码等,旨在帮助用户掌握SQL的基本概念、语法和高级特性。 首先,SQL的基础知识包括数据类型,如整型(INT)、浮点型...

    扬州电视台SQL数据库维护实例解析——使用作业功能实现数据库同步.pdf

    扬州电视台SQL数据库维护实例解析——使用作业功能实现数据库同步.pdf

    sql server 数据库文件——图书订购

    在SQL Server中,数据库文件是存储数据和元数据的核心组件,它们构成了数据库的基础。本案例提供的"图书订购"数据库文件包含两个主要部分:mdf(主数据文件)和ldf(日志文件)。这两个文件是SQL Server数据库不可或...

    Sql学习第一天——SQL UNION 和 UNION ALL 操作符认识

    关于SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 注意: 1.UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同...

    一个方便的sql格式化工具——SQL Pretty Printer 2.8.7

    一个方便的sql格式化工具——SQL Pretty Printer 2.8.7 内包含破解文件和破解方法

    T-SQL性能调优秘籍——基于SQL Server 2012窗口函数 代码附件

    T-SQL性能调优秘籍——基于SQL Server 2012窗口函数,书中提及的网站已经打不开了,在github上找到了。路径在附件中。

    SQL大总结——转载经典——价值过亿

    9. **事务处理**:SQL支持ACID(原子性、一致性、隔离性和持久性)属性的事务,确保数据操作的完整性和一致性。 10. **存储过程和触发器**:存储过程是一组预编译的SQL语句,可提高执行效率;触发器在特定事件(如...

    sql server 2000完全实战——数据转换报务(dts)

    SQL Server 2000中的数据转换服务(Data Transformation Services,简称DTS)是一个强大的工具,主要用于数据迁移、数据清洗和ETL(提取、转换、加载)操作。在这个完全实战教程中,我们将深入探讨DTS的各项功能和...

    Sql学习第一天——SQL 将变量定义为Table类型(虚拟表)

    SQL 将变量定义为Table类型 在平时定义sql语句中的变量时通常我们定义的都是像char,varchar,nvarchar,int……..,那如何让变量作为一个像虚拟表一样呢,其实很简单。 基本语法: 代码如下: declare @t table(列名1 ...

Global site tag (gtag.js) - Google Analytics