>  기사  >  데이터 베이스  >  Sql学习第九天

Sql学习第九天

WBOY
WBOY원래의
2016-06-07 17:44:461079검색

Sql学习第九天SQL 关于over 以前总是认为over是与row_number()结合使用的,今天突然发现它还可以与count()结合。现在就来看看它是怎样与over结合的吧! 还是从例子中理解它: 建表( [dbo].[Orders] 字段说明:orderid -- 订单id , customerid -- 消费者i

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

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

还是从例子中理解它:

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

.( , (5) COLLATE Chinese_PRC_CI_AS NULL, ( ) )

向表插入数据:

); ); ); ); ); ); insert into dbo.Orders values(7,null);

查询插入的数据:

dbo.orders

结果如图:

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

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

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 orderid

结果分析图:

 

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.