sqlserver-累和

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43650411/article/details/102008914

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43650411/article/details/102008914
今日推荐