表如下
ID USER OP
1 A 进入
2 A 退出
3 A 进入
4 B 进入
5 C 进入
6 D 进入
7 C 退出
8 C 进入如果要删除那些进入后退出了的记录,保留那些进入没退出的记录该怎么写SQL语句?
ID USER OP
1 A 进入
2 A 退出
3 A 进入
4 B 进入
5 C 进入
6 D 进入
7 C 退出
8 C 进入如果要删除那些进入后退出了的记录,保留那些进入没退出的记录该怎么写SQL语句?
解决方案 »
- mysql插入中文,查询显中文显示乱码。
- CentOS6.0下连接mysql数据库出现错误
- 带有分号的字段值,查询语句怎么写?
- MYSQL高手进,结果集给变量赋值
- mysql服务器启动时间为什么与服务器时间不一致?
- 问一下有关asp+mysql和asp+Access的区别?
- mysql 数据库表里的时间字段 是int(16) 怎么转换成:datetime 类型? 我用这句不成功
- 如何恢复mysql数据库的root账户权限
- mysql远程连接如何开启
- 求助,关于导入csv文件的error 1290, secure file priv的问题
- 为什么会加上localhost
- [求解]Postgresql下select語法實現
create table tb(ID int, [USER] varchar(2), OP varchar(10))
go
insert into tb select
1 , 'A', '进入' union all select
2 , 'A', '退出' union all select
3 , 'A', '进入' union all select
4 , 'B', '进入' union all select
5 , 'C', '进入' union all select
6 , 'D', '进入' union all select
7 , 'C', '退出' union all select
8 , 'C', '进入'
delete
from tb
where id not in(select id
from tb
where id in
(select max(id)
from tb
group by [user]) and op ='进入')
from tb b
where id not in (select max(a.id)
from tb a
where a.[user]=b.[user]
and a.op ='进入'
)