MySQL group by查询其他字段

在做数据库查询的时候,用到了分组求和
先看一下我的表结构:
MySQL group by查询其他字段_第1张图片
puId是外键,我就是根据这个字段分组求和pay字段,但是因为我后面需要用到其他的字段值进行比较,所以需要查其他不在分组条件内的字段,这个是我第一次执行的语句:
select id,bargain,sum(pay) as pay from margin where status='A' group by puId;
然后就报错:Expression #2 of SELECT list is not in GROUP BY clause and contains...
我上网百度了一下需要用到聚合函数,下面是我修改后的查询语句:select min(id),min(bargain),puId,sum(pay) as
pay from margin where status='A' group by puId;

查询出的数据:
MySQL group by查询其他字段_第2张图片
个人理解:既然用到分组查询了,说明其他字段的值要么是当前不需要的数据,要么就可能是重复的数据,加入十条数据分成五组,按照第一种查询语句,id的返回是是个,而分组后只有五条返回数据,一定会报错的,所以我们要做的就是利用聚合函数筛选出需要的数据或者排除掉不用的数据

你可能感兴趣的:(学习)