日期:2014-05-18  浏览次数:20798 次

请高手看看这个问题,没搞懂啊!!!!!!!!
表table里有   aa,bb,cc,dd,ee,ff字段,现查询语句为:
select   max(aa)   as   aa,bb,cc   from   table   order   by   bb
运行报错,竟奇怪的和group   by   扯上关系了,不明白为什么,请大侠
帮帮,解释下,这语句为什么会报错,原因是什么,谢谢了!

------解决方案--------------------
运行报错,竟奇怪的和group by 扯上关系了,不明白为什么,

==
因为你使用了聚合函数MAX()
------解决方案--------------------
select max(aa) as aa,bb,cc from table order by bb


--->

select max(aa) as aa,bb,cc from table group by bb,cc order by bb

------解决方案--------------------
聚合函数要么单独使用,要么和group by 语句一起使用才不会出错
例如:
单独使用: select max(aa) from table
与group by一起使用:
select max(aa) as aa,bb,cc from table group by bb,cc order by bb

------解决方案--------------------
因为你没有使用聚合函数
select max(aa) as aa,bb,cc from table group by bb,cc order by bb
你试试这样还错吗?