问一个mysql 维护一张表的sql语句如何写
时间:2011-08-28
来源:互联网
比如,我有一张表,如下:
id user pass time ip
1 小张 123 2011-07-08 8.8.8.8
2 小李 234 2011-07-09 7.7.7.7
3 小李 234 2011-07-09 7.7.7.7
4 小张 124 2011-07-10 8.8.8.8
是这样的,user,pass,ip这3个字段一定要不相同才能被保留
其中id为1和4的user是一样的,但是其中pass不一样,可以保留,但是id为2和3,三个字段都一样,我想只保留最后的一条记录,最后的结果是:
id user pass time ip
1 小张 123 2011-07-08 8.8.8.8
3 小李 234 2011-07-09 7.7.7.7
4 小张 124 2011-07-10 8.8.8.8
可以用group by 分组,可往往他得到的数据是最前面的,而不是最后的,有哪位高手能帮我想个sql语句,并且执行效率高,表有10万条记录,其中重复数据很多。谢谢,并且有撒建议给我,比如如何写触发器,在进库的时候可以过滤掉重复数据,保留最新的。等等等~
id user pass time ip
1 小张 123 2011-07-08 8.8.8.8
2 小李 234 2011-07-09 7.7.7.7
3 小李 234 2011-07-09 7.7.7.7
4 小张 124 2011-07-10 8.8.8.8
是这样的,user,pass,ip这3个字段一定要不相同才能被保留
其中id为1和4的user是一样的,但是其中pass不一样,可以保留,但是id为2和3,三个字段都一样,我想只保留最后的一条记录,最后的结果是:
id user pass time ip
1 小张 123 2011-07-08 8.8.8.8
3 小李 234 2011-07-09 7.7.7.7
4 小张 124 2011-07-10 8.8.8.8
可以用group by 分组,可往往他得到的数据是最前面的,而不是最后的,有哪位高手能帮我想个sql语句,并且执行效率高,表有10万条记录,其中重复数据很多。谢谢,并且有撒建议给我,比如如何写触发器,在进库的时候可以过滤掉重复数据,保留最新的。等等等~
作者: a419891509 发布时间: 2011-08-28
a419891509
'截至2011-08-28 22:10:37 用户结帖率0.00%
当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html
8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
'截至2011-08-28 22:10:37 用户结帖率0.00%
当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html
8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
作者: ACMAIN_CHM 发布时间: 2011-08-28
SQL code
Delete a from我有一张表 a left join (select max(id) as id from我有一张表 group by user,pass,ip) b on a.id=b.id Where b.id is null;
作者: ACMAIN_CHM 发布时间: 2011-08-28
SQL code
select * from tb A where not exist (select 1 from tb where A.id<id and A.user=user and A.pass=pass and A.ip=ip)
作者: rucypli 发布时间: 2011-08-28
csdn论坛如何结贴??
点击结贴,转到另一个界面,可是给各位设置好分数后,点击确定结贴,提示“结贴给分与点数不符,请重新分配”,这是怎么回事?该如何解决??
点击结贴,转到另一个界面,可是给各位设置好分数后,点击确定结贴,提示“结贴给分与点数不符,请重新分配”,这是怎么回事?该如何解决??
作者: rucypli 发布时间: 2011-08-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28