【日常开发】使用多种工具实现 sql查询没有结果…
2018-06-17 23:22:11来源:未知 阅读 ()
本文地址
分享提纲:
1. 事情的背景
2. 解决办法
3. 总结
1. 事情的背景
现在需要将2000条数据的name,从user表中查询出来结果,sql 这样写
SELECT * FROM user WHERE name IN ( 'name1', 'name2', ... 'name2000' );
但是出来的查询结果只有 1997条,说明有3条没有结果,也有可能是有重复的name,怎么查询出来是哪3个数据没有结果或者是重复的数据呢?
2. 解决办法
猜想使用mysql应该也可找到是那3条name没有结果,只是一时没有想起来,只好使用了别的办法了。
解决思路是这样的:
1)【mysql结果导出】
首先,是将查询出来的结果1997条的name都存在文本中(mysql已经对name做了排序处理了) mysql.log
2)【查找重复数据】
然后,将原来的数据,使用shell的命令 sort -u 处理为 sort_unique.log 与原来的文件sort.log(也经过 sort处理) vimdiff就可以看出来,是否有重复的name, 果然有 1条重复的name
3)【查找没有返回值的name】
最后,vimdiff 一下, mysql.log 和 sort_unique.log(两者实现了同样的排序) 就可以看出来到底是哪些 name 在数据表 user中没有返回了
3. 总结
首先就是我的mysql查询语句需要提高,然后,当一种技术解决不了问题时,可以混合多种技术。
像上面提到的 shell在文本处理,排序,去重,对比中展现的优势是无与伦比的,比 PHP等语言处理要快很多。
-- 另外:
有知道怎么直接用 sql语句查询出来哪些 name没有结果的同学,也欢迎回复哈,一起学习交流提高,谢谢~
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHP访问MySQL查询超时怎么办 2020-03-09
- Mysql下中文乱码的解决方法 2020-02-26
- MySQL中使用WHERE子句的方法 2019-10-25
- 关于laravel后台模板laravel-admin select框的使用详解 2019-10-08
- 团队开发中的 Git 实践 2019-09-30
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash