数据表如下:
id(int),uid(int),message(varchar),time(datetime)
1, 1 , "fail" ,'2007-05-20 12:00:00'
2, 1 , "fail" ,'2007-05-20 12:20:00'
3, 1 , "fail" ,'2007-05-20 12:30:00'
4, 2 , "success" ,'2007-05-20 13:00:00'
5, 1 , "fail" ,'2007-05-20 15:00:00'
6, 1 , "fail" ,'2007-05-20 15:20:00'请问如果想要删除id为2,3和6的记录(在一定时间内id和message都相同的记录)sql语句应该怎样写?
id(int),uid(int),message(varchar),time(datetime)
1, 1 , "fail" ,'2007-05-20 12:00:00'
2, 1 , "fail" ,'2007-05-20 12:20:00'
3, 1 , "fail" ,'2007-05-20 12:30:00'
4, 2 , "success" ,'2007-05-20 13:00:00'
5, 1 , "fail" ,'2007-05-20 15:00:00'
6, 1 , "fail" ,'2007-05-20 15:20:00'请问如果想要删除id为2,3和6的记录(在一定时间内id和message都相同的记录)sql语句应该怎样写?
另外,id也没有相同的,只有uid有相同的。
对于id为5,6的记录同理,只删除id为6的记录。由于中间有一条id为4的记录中message是success,所以保留id为5的记录。
select c.id from tablename c group by c.uid,c.message,date(c.time),hour(c.time)
))) d where a.id=d.id;我只想到这个.