【日常开发】使用多种工具实现 sql查询没有结果的name
2017-01-22 15:47
162 查看
本文地址
分享提纲:
1. 事情的背景
2. 解决办法
3. 总结
1. 事情的背景
现在需要将2000条数据的name,从user表中查询出来结果,sql 这样写
但是出来的查询结果只有 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没有结果的同学,也欢迎回复哈,一起学习交流提高,谢谢~
分享提纲:
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没有结果的同学,也欢迎回复哈,一起学习交流提高,谢谢~
相关文章推荐
- Hibernate之使用sql语句查询多个表,返回多种字段,将返回结果映射到自定义的普通pojo类中
- 在使用Hibernate时,因为一个查询需要更多的表连接而要使用SQL来解决性能问题。然而返回的结果集中包含了没有映射的Entity类中的表字段,在这个SQL中还有使用如何将层次关系的父子结点显示为横行
- 使用pl/sql developer开发工具无法编译存储过程,触发器,包等程序文件
- T_SQL中使用正则表达式匹配查询结果
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-通过SQL实现特殊业务
- jQuery开发之windows边栏小工具开发(Gadget development)- windows小工具实现的电话薄查询工具
- 在pl/sql中使用exp/imp工具实现oracle数据导出/导入
- 再次推荐SQLPrompt3 -简单破解无限期的使用这款很不错的SQL查询分析工具
- 在sql查询中使用表变量实现上一条下一条记录
- SQL数据库查询实现行转列与列转行结果SQL语句
- 【华磊随笔】善于使用工具(1)-使用IE8开发人员工具和FireBug分析Jquery FlexiGrid的实现原理
- SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
- 如何在Sql开发工具中在sql中使用变量
- 推荐SQLPrompt3 -简单破解无限期的使用这款很不错的SQL查询分析工具
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-通过SQL实现特殊业务
- 在pl/sql中使用exp/imp工具实现oracle数据导出/导入
- 关于使用SQL自动生成,程序转化工具,提高开发数据库的效率
- Hibernate3.2.6 原生sql 查询使用方法,将查询结果直接转换为POJO,不必非要指定属性大写
- SQL数据库查询实现行转列与列转行结果SQL语句
- [SQL指令]使用 PIVOT 和 UNPIVOT,「扭转」查询的结果。