Java MySQL删除重复日期字段上的查询

时间:2015-05-10 11:22:33

标签: java mysql

我试图根据日期归档从DB表中删除一些条目。

例如,请考虑以下数据。

 - Program Name -------    Job_Run_date 
 - program.exe  -------    2015-08-04     
 - program.exe  -------    2015-08-04    
 - program.exe  -------    2015-08-05      
 - program.exe  -------    2015-08-05      
 - program.exe  -------    2015-08-06

在上面的列表中,2015-08-04的条目发生了两次。每个日期字段的预期条目数仅为每个日期一个。 我将每个运行信息存储在数据库表中,但是我不需要为程序输入多个条目。但是需要输入一个条目来识别在特定日期运行的进程。

我试图从java程序运行以下类型的查询,但有些逻辑似乎不起作用。
DELETE FROM PROCESS_DATA WHERE RUN_Date NOT IN(SELECT RUN_Date FROM(SELECT MIN(RUN_Date)FROM PROCESS_DATA GROUP BY RUN_Date))

对查询的任何修改都需要花费大量时间才能运行,并且无法找到有关此特定情况的大量信息。

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决此问题,

1. Before insertion, you can validate if there exists any record for this date.
2. Execute the below query
DELETE FROM PROCESS_DATA WHERE RUN_Date NOT IN ( SELECT distinct RUN_Date FROM PROCESS_DATA )