我想知道应该返回唯一的(通过CUSTOMER_ID,VEHICLE_ID,DEALER_ID和EVENT_TYPE_ID)行的SQL语句(对于ORACLE DBMS)应该是什么,但它会返回该行的最新日期(EVENT_INITIATED_DATE)。我试过DISTINCT和GROUP BY,但无法弄清楚如何处理EVENT_INITIATED_DATE(即DATE数据类型)。什么是删除重复项但保留附加列数据的SQL语句?
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
您键入的速度更快,然后我! – Avitus 2010-05-05 19:21:24
这当然假设Event_initiated_date是日期的数据类型,而不是字符串数据。这不适用于字符串日期,因为排序不同,因此可能返回错误的最大数据。 (或者至少在SQl服务器上,但我敢打赌,它在ORACLE中也有所不同) – HLGEM 2010-05-05 19:40:06
@HLGEM:好的,我的查询确实假定日期数据类型。 – RedFilter 2010-05-05 19:43:46