sql - 删除重复项但保留其他列数据的 SQL 语句是什么?

标签 sql oracle plsql duplicate-data

我想知道应该返回唯一(通过 CUSTOMER_ID、VEHICLE_ID、DEALER_ID 和 EVENT_TYPE_ID)行的 SQL 语句(对于 ORACLE DBMS)应该是什么,但它也会返回该行的最新日期(EVENT_INITIATED_DATE) .我试过 DISTINCT 和 GROUP BY,但无法弄清楚如何处理 EVENT_INITIATED_DATE(即 DATE 数据类型)。

CUSTOMER_ID            VEHICLE_ID             DEALER_ID  EVENT_TYPE_ID          EVENT_INITIATED_DATE      
---------------------- ---------------------- ---------- ---------------------- ------------------------- 
22197630               23093399               6040       20                     11-JAN-07                 
22197630               23093399               6040       5                      11-JAN-07                 
22197630               23093399               6040       4                      11-JAN-07                 
22197630               23093399               6040       3                      11-JAN-07                 
22197630               23093399               6040       4                      19-JAN-06                 

最佳答案

select CUSTOMER_ID, VEHICLE_ID, DEALER_ID, EVENT_TYPE_ID, 
    max(EVENT_INITIATED_DATE)
from MyTable 
group by CUSTOMER_ID, VEHICLE_ID, DEALER_ID, EVENT_TYPE_ID

关于sql - 删除重复项但保留其他列数据的 SQL 语句是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2776108/

相关文章:

oracle - 从 PL/SQL block 中的字符串变量创建用户

java - 在单个 try-catch block 中创建多个PreparedStatements 是不好的做法吗?

sql - 检索 Oracle 最后插入的 IDENTITY

sql - 如何在包含字符串值的列上使用聚合函数?

java - 我似乎无法从 PLSQL 调用 java

oracle - PL/SQL ORA-01422 : exact fetch returns more than requested number of rows

sql左连接2个表

java - 在ormlite中,如何拥有外部字段和字段列?

c# - MySQL 数据库的正确日期时间格式是什么?

sql - Oracle SQL 获取变量的子字符串作为新变量