其实就是 分组以后,有两组,第一组sex=0的有7条,第二组sex=null的有一条。count(id),就是第一组的7,和第二组1。所以>=2的就是sex=0的这一组了。
2018-04-12
关于group by的问题:
set@@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
去掉ONLY_FULL_GROUP_BY即可正常执行sql.
set@@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
去掉ONLY_FULL_GROUP_BY即可正常执行sql.
2018-04-11
过程体就好比是和数据库的一种事先约定:执行一次过程体之后,数据库就明白以后传过来的这种东西(参数)就是按照约定的某个规则来处理,所以不需要再次编译,因此执行效率高。
比如一开始你就和A(A代表数据库)约定:以后给A一袋苹果,A就拿来吃;如果给A一支笔,A就拿来写字;如果给A一个豆豆,A就打豆豆,这些就是约定的规则(称为过程体),A执行了一次命令之后,以后你再递给A一袋苹果、一支笔、一个豆豆的时候,就不需要和A再沟通了(也就是不需要再编译了),你压根不用说话,A就已经知道你要做什么了,直接执行,所以效率很高。
比如一开始你就和A(A代表数据库)约定:以后给A一袋苹果,A就拿来吃;如果给A一支笔,A就拿来写字;如果给A一个豆豆,A就打豆豆,这些就是约定的规则(称为过程体),A执行了一次命令之后,以后你再递给A一袋苹果、一支笔、一个豆豆的时候,就不需要和A再沟通了(也就是不需要再编译了),你压根不用说话,A就已经知道你要做什么了,直接执行,所以效率很高。
2018-04-08
@recying5566的 回答沉下去了, 我按照顺序正确执行
@recying5566 :切记!要先设置set names gbk;再自定义函数,否则会出错,调用函数只显示2016
@recying5566 :切记!要先设置set names gbk;再自定义函数,否则会出错,调用函数只显示2016
2018-04-08