请SQL语言高手帮忙看看

来源:百度知道 编辑:UC知道 时间:2024/06/05 17:04:33
请看一下面的错误是什么原因
select xm,nl,xb,xl from rsda group by xm,nl,xb
执行结果如下:
列 'rsda.xl' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
请问这是为什么,我在gruop by 后加上xl,就女孩子,请问一定要全部group by才行吗,有什么办法让
select xm,nl,xb,xl from rsda group by xm,nl,xb 这个结果正确,前提是不增加group by 的字段

不在groupby列里面的字段必须用聚合函数比如sum,min,max,count之类的

select xm,nl,xb,xl from rsda group by xm,nl,xb,xl
或者
select xm,nl,xb,max(xl) from rsda group by xm,nl,xb

楼上正解,用GROUP BY后,就是分组了,分组了,就意义着要对分组的其他项目做一个操作,你这除了group by的字段,再就只有一个XL,所以就要对第一组的XL作一个操作,让相同它group by的字段返回一行记录出来。