oracle中我只需要对其中某一个字段groupby,其它字段的数据我也要只是不需要groupby

如题所述

那其它字段就不要显示,或者取其它字段的最大值、最小值、平均值…等等函数。
假如两个数据组合到一起了,那么其它字段的值怎么组合呢?到底显示哪个呢?例如:
lie1 lie2 lie3
a 1 2
a 2 3
假如你对lie1进行groupby
那么两条数据组合到一起了吧,然后列2显示哪条呢?岂不是数据会丢掉了,
所以在group by的时候去lie2的最大值、最小值、平均值…等等函数。
这样就不会有问题了。
具体如下:select lie1,函数(lie2) from Table group by lie1.
希望我说的你能够看懂。不懂可以再问。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-06
其它字段的数据我也要只是不需要groupby
那么你要做一个选择,如果不一样,怎么显示, 是最大的? 还是最小的? 还是平均的?
例如有表 T
A B C
1 1 1
1 1 2
1 2 1
1 2 2


SELECT
A,
-- 这里假设你 B 字段 也要, 只是不需要 group by
-- 那么你需要做个选择,
-- 要么 MIN(B) 或者 MAX(B) 或者 AVG(B) 等...
SUM(c)
FROM
T
GROUP BY
A本回答被网友采纳
第2个回答  2011-07-06
构建子表追问

怎么做?

追答

外层表选择你所要的字段,内层用groupby

第3个回答  2011-07-07
把你的SQL语句和表结构粘上来。
第4个回答  2011-07-07
分析函数可以实现,不过你GROUP BY什么呢?SUM,COUNT????
相似回答