sqlserver-累和

1.练习题
在这里插入图片描述在这里插入图片描述
2.数据集



USE master
GO

IF EXISTS(SELECT * FROM sysdatabases WHERE name='LeetCode')
	DROP DATABASE LeetCode
GO
CREATE DATABASE LeetCode
GO
USE LeetCode
GO

IF EXISTS(SELECT * FROM sysobjects WHERE name='Activity')
	DROP TABLE Activity
GO
CREATE TABLE Activity
(
	player_id INT,
	device_id INT,
	event_date DATE,
	games_played INT,
	CONSTRAINT PK_player PRIMARY KEY(player_id, event_date)
)
INSERT INTO Activity
VALUES
	(1, 2, '2016-03-01', 5), (1, 2, '2016-05-02', 6), (1, 3, '2017-06-25', 1),
	(3, 1, '2016-03-02', 0), (3, 4, '2018-07-03', 5)
GO

SELECT *
FROM Activity
GO

3.解

-- 只保留当日第一次登陆时间
SELECT player_id, 
	event_date, 
	--COUNT(event_date) OVER(PARTITION BY player_id ORDER BY event_date),
	SUM(games_played) OVER(PARTITION BY player_id ORDER BY event_date)
FROM Activity
ORDER BY player_id ASC

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值