SQL最近使用row_number()而不是分区
发布时间:2020-12-12 07:00:44 所属栏目:MsSql教程 来源:网络整理
导读:我正在处理一些网络点击数据,我只是在寻找带有访问过的user_id的最新page_name(通过时间戳).使用下面的代码,重复user_id并显示page_name,并按降序排序.但是,我只想使用recent_click always = 1.完成时的查询将用作较大查询中的子查询. 这是我目前的代码: SEL
我正在处理一些网络点击数据,我只是在寻找带有访问过的user_id的最新page_name(通过时间戳).使用下面的代码,重复user_id并显示page_name,并按降序排序.但是,我只想使用recent_click always = 1.完成时的查询将用作较大查询中的子查询.
这是我目前的代码: SELECT user_id,page_name,row_number() over(partition by session_id order by ts desc) as recent_click from clicks_data; user_id | page_name | recent_click --------+-------------+-------------- 0001 | login | 1 0001 | login | 2 0002 | home | 1 解决方法您应该能够将查询移动到子查询并添加标准:SELECT user_id,recent_click FROM ( SELECT user_id,row_number() over (partition by session_id order by ts desc) as recent_click from clicks_data ) T WHERE recent_click = 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQLServer和Oracle的常用函数对比
- sql – 在多个组中的每组记录中选择最新和特定的版本
- mysql exists与not exists实例详解
- .NET 程序集 中创建CLR sqlServer函数 需要启用 "clr e
- sql-server – 选择Indexed View的Clustered Index有哪些因
- SQLServer中事务日志已满的原因以及解决办法
- SQL Server 针对SQL 2000 的分页存储过程示例
- sql-server – 表扫描如何返回比表中更多的行?
- sql-server – 打印表的结构/模式
- SQLServer2008R2中创建多个SDE空间数据库