oracle数据库中group by 1 是什么意思?

Select Idenno ID_NO,
(select sum(b.prepay_cost) from FIN_IPB_INPREPAY b where b.inpatient_no=a.inpatient_no group by 1) PREPAYMENTS
From Fin_Ipr_Inmaininfo a;

group by 1是指第一列,结果中的第一列,以他作为分组,说白了就是去除第一列重复值
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-16
你这个语句如果能运行的话,就怪了,GROUP BY是用表字段的实际列名,不是别名,你这个应该是ORDER BY 1,如果是ORDER BY 1,表示对查询出来的数据对第一列按照升序排序本回答被网友采纳
第2个回答  2015-05-15
为了使用一些组函数 sum,你去掉它后可能会不正确的。追问

为什么要加这个吗?我看加不加结果都一样啊。

追答

可能是其他数据必须这样写的,可能作者也是从其他数据库中复制过来的或者说作者有其它数据库的经验因此就写现在的这样。

本回答被提问者采纳
第3个回答  2015-05-15
对sum(b.prepay_cost) 的合计值为1的进行分组
第4个回答  2015-05-15
没意思,加不加都是一样的
相似回答