设为首页收藏本站
查看: 76|回复: 0

[PHP] Sql学习第九天

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2018-7-11 15:13:00 | 显示全部楼层 |阅读模式
    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 我前面有说(查看请点次链接)。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表