首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据修改日期进行去重的SQL查询

根据修改日期进行去重的SQL查询
EN

Stack Overflow用户
提问于 2014-10-21 23:30:26
回答 1查看 1.9K关注 0票数 0

我有一个数据库表,其中包含以下列regularization_dt、modified_dt和account_id。对于特定的帐户,每当更新帐户时,都会向表中添加一个条目,其中包含regularization_dt和account_id的新modified_dt。

我想要一个SQL查询来删除重复的正则化。根据最近的modified_dt,只能选择一个用于正则化的条目。

例如,表中的条目如下:

代码语言:javascript
复制
regularization_dt | account_id | modified_dt
----------------- | ---------- | ----------
03-28-2013        |  123       |05-26-2014
03-28-2013        |  123       |01-14-2014
05-26-2014        |  123       |05-25-2014

生成的查询应该会生成:

代码语言:javascript
复制
regularization_dt | account_id | modified_dt
----------------- | ---------- | ----------
03-28-2013        |  123       |05-26-2014    
05-26-2014        |  123       |05-25-2014

如何删除基于不同列的重复列?

代码语言:javascript
复制
select * from history where account_id = 123;
EN

回答 1

Stack Overflow用户

发布于 2014-10-21 23:44:30

听起来您想要使用聚合函数和GROUP BY

代码语言:javascript
复制
SELECT   regularization_dt,
         account_id,
         MAX(modified_dt) as modified_dt
FROM     yourtable
GROUP BY regularization_dt,
         account_id;

对于具有相同regularization_dt和account_id列值的行,这应返回仅包含最新modified_dt的已消除重复数据的行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26490547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档