日期:2014-05-16  浏览次数:20879 次

去掉重复数据的情况
现在的数据记录是
SQL code

id  timePID   ActionTime 
1      1      2011-09-23 08:00:32
2      1      2011-09-23 08:00:40
3      2      2011-09-23 12:00:33
4      2      2011-09-23 12:02:37
5      1      2011-09-24 08:00:00
6      2      2011-09-24 12:00:37



要取的结果是
SQL code

id  timePID   ActionTime 
1      1      2011-09-23 08:00:32
3      2      2011-09-23 12:00:33
5      1      2011-09-24 08:00:00
6      2      2011-09-24 12:00:37



就是说去掉重复的日期记录,但是根据timePID作为重复条件的

------解决方案--------------------
探讨
引用:

详细说明,如果以timePID作为重复条件,5、6为什么还存在?timePID连续出现?


同一天内可能有几个时间段的记录,比如8:00, 12:00, 17:00等,其实timePID就是一个外键8点对应1,12点对应2,17点对应3等,所以ActionTime的最后时间是不统一,但同一日期

要取的就是某一天不同的时间段记录,可能有8点,也……

------解决方案--------------------
select *
from tth a 
WHERE NOT EXISTS(
SELECT 1 FROM tth 
WHERE a.`timePID`=`timePID` 
AND DATE(a.`ActionTime`)=DATE(`ActionTime`)
AND a.id>id
)