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????

...个字段groupby,其它字段的数据我也要只是不需要groupby
假如两个数据组合到一起了,那么其它字段的值怎么组合呢?到底显示哪个呢?例如:lie1 lie2 lie3 a 1 2 a 2 3 假如你对lie1进行groupby 那么两条数据组合到一起了吧,然后列2显示哪条呢?岂不是数据会丢掉了,所以在group by的时候去lie2的最大值、最小值、平均值…等等...

oracle中,还是不甚明白order by和group by的用法
group by 是分组 首先用group by 的前提是你的select里边用了聚合函数如sum(),avg(),min(),max()没有聚合函数用不了group by会报错 其次 出现在select里边的除聚合函数以外的所有字段 都必须作为group by的条件 出现在group by中的字段可以不select出来 也就是说 select中的字段必须出现在group by...

oracle语句 我想知道在一个字段最大值的情况下, 取另外一个字段最小...
-- group 是关键字,最好不要用于列名select t1.* from t1, (select t1.fgroup, t1.fitem, max(t1.c1) c1, min(t1.c4) c4 from T1, (select fgroup, fitem, max(c1) c1 from T1 group by fgroup, fitem) maxc1

oracle中查询中单表多字段去重,怎么实现?
没用到什么函数,就一个group by ,是用来去重的,你可以把括号里的先执行,看下结果,外边就是一个从括号里再选出a,b两个字段

(oracle)sql根据某一字段分组求和后再列出其他字段信息
acd一样的话,可以select a,c,d,sum(b) from table group by a,c,d;除了ab字段外,取c一条记录 select a,c,sum(b) from where c = '你要的c' table group by a,c;

Oracle如何对一个多值字段进行分组统计
Oracle 需要首先在数据库中, 创建好 类型 与 函数。来实现一个 split 功能的处理。-- 定义一个对象类型.CREATE OR REPLACE TYPE ty_row_str_split as object (strValue VARCHAR2 (4000));\/-- 定义一个 表\/数组类型, 内容是前面定义的那个对象.CREATE OR REPLACE TYPE ty_tbl_str_split IS...

ORACLE查询让字段不重复
可用distinct或者group by来实现。如数据如下:要让ID字段查询后不重复,可用distinct语句 select distinct id from test;结果:也可用group by语句:select id from test group by id;结果:

oracle按照查询的所有字段group by 之后可不可以按照其中的一个字段排序...
可以 select count(1),A,B from X group by A,B order by A这么写都可以的

oracle 查询所有字段,某字段重复只显示一条
一,oracle数据库,情景:表(客户-业务员)中数据都不完全重复,但是可能多条数据其中某些字段重复。我想要取得表中符合条件的记录,但是这些记录中的客户id和客户名称发生重复的话只能留一个。二,如上图我想找出“冯冬梅”负责的所有客户,但是由于她属于多个部门,此表存储的是不同部门-不同人员对应的...

一张表中,一个字段的值有另一个字段多个值,怎么查询
可以向用group by 加 去从 distinct 来处理,以下是oracle实例 select * from 表where A IN(SELECT A FROM 表 group by A having count(distinct B)>1)

相似回答