日期:2014-05-19  浏览次数:20682 次

group by 的问题
经常会遇到这样的情况,

select   111,222,333,666   from   555   group   by   666是会出错的,于是经常会发现大家改为这个形式加上了聚合
select   min(111),min(222),min(333).666   from   555     group   by   666
可是未必所有的min都在同一条记录中吧,这样到底显示的是哪条记录啊,不知道小弟说的明白不?


------解决方案--------------------
所有记录中符合条件的那个值
------解决方案--------------------
不用聚合的列必须包含在 group by 里

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------
select min(111),min(222),min(333).666 from 555 group by 666

其实你这条group by 只是为列中的数据分组显示~然后显示同组中111,222,333列中最小的数据~~~并不是固定的一行数据!!!
------解决方案--------------------
不能确定
------解决方案--------------------
“可是未必所有的min都在同一条记录中吧,”说的对

所以使用时要看情况 ~