900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mysql where不能用聚合函数_Mysql聚合函数对where语句筛选结果的影响

mysql where不能用聚合函数_Mysql聚合函数对where语句筛选结果的影响

时间:2021-09-29 00:25:33

相关推荐

mysql where不能用聚合函数_Mysql聚合函数对where语句筛选结果的影响

未用聚合函数时

selectcreate_dateFROMunlimited_user_historyWHERE1!=1;

筛选结果为0件

但是用了聚合函数

selectMAX(create_date)FROMunlimited_user_historyWHERE1!=1;

即使where条件不满足,结果还是有1件;

这种情况怎么才能避免……

解决方案

5

这是聚合函数的影响,你这样查询出来的结果应该是个Null。

假如你想避免,可以使用一个子查询

select*from(

selectMAX(create_date)ascreate_datefromunlimited_user_historywhere1!=2)awheredatisnotnull;

10

selectcreate_dateFROMunlimited_user_historyWHERE1!=1;

筛选结果为0件

但是用了聚合函数

selectMAX(create_date)FROMunlimited_user_historyWHERE1!=1;

即使where条件不满足,结果还是有1件;

这个很正常,第一个之所以返回0条,是原因是1!=1是不成立的,所以就没有结果集了。

而第2个,也是一样,where过滤1!=1也是没有数据,但是聚合函数就算在1条记录也没有的情况下,也会返回1一个值,那就是null

5

这里举个简单的例子,说明聚合函数的特点:

mysql>selectmax(v)from(select1v)twhere1!=1;

+--+

|max(v)|

+--+

|NULL|

+--+

1rowinset(0.18sec)

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Mysql聚合函数对where语句筛选结果的影响!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。