oracle 问题,如下,

distinctt1.*,count(1)over()astotalCount加这个代表什么意思???over()???... distinct t1.*,count(1) over() as totalCount
加这个代表什么意思???
over() ???
展开
 我来答
致敬孺子牛
情感倾听者

2017-03-10 · 让我来听你的故事
知道小有建树答主
回答量:2056
采纳率:87%
帮助的人:171万
展开全部
over是新版ORAcle的分析函数,可以返回多列值,而聚合函数只能返回一列。Over(order by)是开窗函数
给你举个例子,分类统计 (并显示信息)
t2表:
A B C
-- -- ----------------------
m a 2
n a 3
m a 2
n b 2
n b 1
x b 3
x b 2
x b 4
h b 3
select a,c,sum(c)over(partition by a)(按照a列分区) from t2
得到结果:
A B C SUM(C)OVER(PARTITIONBYA)
-- -- ------- ------------------------
h b 3 3
m a 2 4
m a 2 4
n a 3 6
n b 2 6
n b 1 6
x b 3 9
x b 2 9
x b 4 9

如果用sum,group by 则只能得到
A SUM(C)
-- ----------------------
h 3
m 4
n 6
x 9
无法得到B列值
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式