Sqlserver 使用row_number()over(partitioon by) 分组去重 在查询数据时如果有重复我们知道可以用 distinct 去除重复值但使用 distinct 只能去除所有查询列都相同的记录如果有一个字段不同distinct 就无法去重。select ID , 编码, 姓名 from person where 姓名李四但我们还想要实现这样的效果这时我们可以用 row_number()over(partitioon by column1 order by column2) 先进行分组。根据 COLUMN1 分组在分组内部根据 COLUMN2 排序结果表示为每组内部排序后的顺序编号这个编号在组内是连续且的。select ID , 编码, 姓名 ,ROW_NUMBER()over(partition by 姓名 order by ID desc) as new_id --对姓名进行分组对id进行从大到小排序 from person where name李四再根据新生成的值作为条件取出每组中的某个值。通常情况下取大值或小值其它情况看需求。一般将上述语句看做为一个新表如临时表或外嵌查询 select。以临时表为例。select ID , 编码, 姓名 ,ROW_NUMBER()over(partition by 姓名 order by ID desc) as new_id --对姓名进行分组对id进行从大到小排序 into #aa from person where name李四select * from #aa where new_id1就是为了去除重复值。将重复值分组按大值排序取条。

相关新闻

最新新闻

长沙 3D 动画宣传片定制服务商推荐

长沙 3D 动画宣传片定制服务商推荐

湖南长沙不少制造、地产、综合集团定制融合 3D 动画的企业宣传片,挑选服务商不能只对比低价,建模精度、全流程自主团队、行业落地案例是三大核心评判标准,长沙尚格影视 2008 年成立,全国多处分公司,自有三维建模、专业…

2026/7/16 4:30:29
Android平板与微处理器USB通讯开发指南

Android平板与微处理器USB通讯开发指南

1. Android平板与微处理器的USB通讯基础架构在工业自动化和智能硬件开发领域,Android设备与微处理器的通讯方案正变得越来越普遍。这种组合充分利用了Android系统的丰富交互界面和微处理器的实时控制能力,典型的应用场景包括:工业控制面板、智…

2026/7/16 4:30:29
二级C++模拟软件实战:从环境配置到自动化评测的完整指南

二级C++模拟软件实战:从环境配置到自动化评测的完整指南

1. 项目概述:为什么你需要一个“实战”模拟软件?如果你正在准备全国计算机等级考试(NCRE)的二级C科目,并且已经刷了不少选择题、背了不少语法,但一打开编程题就心里发虚,那这篇文章就是为你写的…

2026/7/16 4:30:29
OpenSandbox 再进化:Credential Vault 让真实密钥不再进入沙箱

OpenSandbox 再进化:Credential Vault 让真实密钥不再进入沙箱

本文作者:靳文祥 前言 OpenSandbox 是一个阿里巴巴开源的面向 AI Agent 的通用沙箱平台,提供多语言 SDK、CLI、MCP Server,以及 Docker / Kubernetes 运行时,在阿里内部广泛应用于 Coding Agent、GUI Agent、代码执行、Agent 评测…

2026/7/16 4:30:29
C++实时数据流水线设计:7大核心模式与性能优化实战

C++实时数据流水线设计:7大核心模式与性能优化实战

1. 项目概述:从概念到实战的实时数据流水线最近刚参加完2025年的全球C技术大会,回来之后一直想找个时间把会上关于实时数据流水线设计的干货好好梳理一下。这个话题在大会上讨论得特别热烈,几乎每个做高性能计算、金融交易系统或者游戏服务器…

2026/7/16 4:30:28
RubyMine安装失败根因:便携Ruby环境与macOS签名冲突解析

RubyMine安装失败根因:便携Ruby环境与macOS签名冲突解析

1. RubyMine不是“装上就能用”的IDE:为什么Ruby/Rails开发必须从环境根因开始RubyMine是JetBrains为Ruby和Rails开发者打造的专业级IDE,但它的安装流程远比PyCharm或WebStorm复杂——这不是因为JetBrains故意设置门槛,而是Ruby生态本身存在一…

2026/7/16 4:25:28

月新闻