关于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