mysql中分组查询的问题
2011-04-04 23:07
337 查看
最近在项目中使用mysql的group by做分组查询,发现一个较诡异的问题(与oracle进行比较):
如下sql在oracle中会报错,在mysql中部报错但得到的结果却可能是随机的
分析:此sql存在问题,因为是按照srcnode字段进行分组的,而查询语句中却出现routerip字段。
这种情况应当引起高度注意,因为mysql并不报错,所以程序最后的结果可能会很离谱,而你却极有可能排查不出是这儿出了问题。
解决方案:可以使用如下sql
如下sql在oracle中会报错,在mysql中部报错但得到的结果却可能是随机的
select routerip from srcnode group by srcnode
分析:此sql存在问题,因为是按照srcnode字段进行分组的,而查询语句中却出现routerip字段。
这种情况应当引起高度注意,因为mysql并不报错,所以程序最后的结果可能会很离谱,而你却极有可能排查不出是这儿出了问题。
解决方案:可以使用如下sql
select max(routerip) from srcnode group by srcnode
相关文章推荐
- MySQL中使用group by进行分组时,子查询中order by失效的问题
- mysql分组查询结果集作为条件查询的问题
- MYSQL查询大小写是否敏感问题分析
- MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法[转贴]
- MySQL查询乱码问题--DOS中
- 在论坛中出现的比较难的sql问题:4(row_number函数+子查询 分组连续编号问题)
- MySQL中使用子查询IN效率较低的问题
- mysql按月分组查询 若某月份记录为空则记为0
- MySQL学习第二天:分组查询、连接查询、嵌套查询、外键(foreign key)、“一对多”,“多对多”关系表设计
- 解决MySql Command Line Client查询结果乱码问题
- mysql 查询问题
- 记录一个mysql按日期分组统计的查询
- mysql中RAND()随便查询记录效率问题和解决的方法分享
- 关于LINQ查询中不能直接按二个或二个以上值进行分组的问题
- mysql按日期分组(group by)查询统计的时候,没有数据补0的解决办法。
- mysql 数据查询时碰到的憋屈问题
- MySQL调用JDBC查询数据全部加载的问题
- 解决MySQL Sending data导致查询很慢问题的方法与思路
- MySQL查询生成排序号,和扯蛋的分组无关
- 请教一下hibernate中的criteria分组查询语句报类转换错误,出了什么问题?