求MySQL一个表(grade表人_yqfx)中某值(grade表人)的平均分(avggrade表人),并存到mysql另一个表(avggrade表人)的中

表结构如上, 我写了一个sql:

我到mysql的官網上也没找到解决的办法, 看了几个博客说是要使用中间表, 但是还是写不出来, 那么正确的sql是怎样的呢? 望告知

最近在检查一个mysql问题的时候发現mysql查询结果不对是因为在group by 中使用了别名。

然后我百度了一下也了解了在group by 中不能用别名的原因,下图可以解释:


但我仍然有其他疑问想問一下专家:

1、为什么在group by中如果使用别名,不会报错不报错是个很大的坑,有些问题几个月都没有发现

2、我分别有两个案例都是在group by中使用别名,一个案例数据能够正确查询另外一个案例,不能正确查询

两者查询结果不同的案例:

Buyer一个个5条记录,一个是4条记录:

另外┅个案例两者的查询结果相同,也就是Group By中使用别名仍然查询出了正确的数据:

ItemId;第2个问题是为什么还是在Group By中使用别名,有时候可以查询絀正确的数据这是种什么机制?这个情况迷惑性非常大因为有时候用别名了,也能出正确数据会让人误以为可以这么用。

注:为了排除聚合函数可能的影响在sql中我都剔除了聚合函数。这不是问题

Mysql中数字类型字段可直接使用MAX()函数使用max函数查询一个字符串类型的字段时,因为字符串类型大小比较是先比较首字符然后依次往后进行比较

如有数据:。使用max查出来的朂大值并不是10000而是9999

1、MAX()函数是求最大值的函数;

eg:查询张三的所有科目中的最高分

eg:查询所有学生分数最高的成绩

1、MIN()函数是求最小值的函数;

eg:查询张三的所有科目中的最低分

eg:查询所有学生分数最低的成绩

你对这个回答的评价是?

你对这个回答的评价是

一、mysql 获取当前字段最大id

Auto_increment是表中的一个属性,只要把表的状态获取到也就可以获取到那个自增值

你对这个回答的评价是?

你对这个回答的评价是

我要回帖

更多关于 grade表人 的文章

 

随机推荐