MSSQL·根据多字段为最大值且根据某字段分组取一条记录

本文介绍了如何在MSSQL中解决一个问题:当表中有多个字段A的重复记录,而我们需要找出那些字段B、C、D在相同A字段下具有最大值的唯一有效记录。通过具体的错误尝试和最终的T-SQL解决方案,博主展示了如何在实际场景中应用这一查询策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阅文时长 | 1.14分钟 字数统计 | 1825.6字符
主要内容 | 1、引言&背景 2、示例&数据准备 3、错误尝试 4、解决方案 5、声明与参考资料
『MSSQL·根据多字段为最大值且根据某字段分组取一条记录』
编写人 | SCscHero 编写时间 | 2021/7/12 PM12:0
文章类型 | 系列 完成度 | 已完成
座右铭 每一个伟大的事业,都有一个微不足道的开始。

一、引言&背景   完成度:100%

a) 应对问题

【概述】根据某个字段查询,其记录当中符合某几个字段均为最大值的记录。
【例子】博主碰到的实际问题是,一张表中有许多历史数据,这些历史数据中的提取有效数据的判断方式是:每个字段A中有多条数据,只有一条有效数据,其记录当中的其他几个字段如B、C、D必须是所有字段A相同记录中的最大值。

b) 应用场景

例如有张表中,有许多条name为"AAA"的重复记录,我们要根据其另外两个字段如ID、Acount均为最大时,才为有效记录。

c) 效果展示

二、示例&数据准备   完成度:100%

a) 示例说明

目前有一张表,其中包含name为"a"和"b"的多条记录,此多条记录中,有CreateTime、SecID等字段不相同,目前要取CreateTime为最大、ID为最大的记录。

b) 数据准备


    IF EXISTS (SELECT 1
               FROM dbo.sysobjects
               WHERE id=OBJECT_ID(N'[dbo].[Demo_053_根据某两个字段取最大ID]')AND OBJECTPROPERTY(id, N'IsUserTable')=1)
				BEGIN
        DROP TABLE Demo_053_根据某两个字段取最大ID;
    END;
    CREATE TABLE D
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值