这个分析函数如何改?

[复制链接]
查看11 | 回复4 | 2008-2-13 12:43:03 | 显示全部楼层 |阅读模式
大家好,问一个菜鸟问题:
create table A_TEST
(
F_CODEA CHAR(1),
F_CODEB CHAR(1),
F_SUM NUMBER(2)
)

f_codeaf_codeb
f_sum

1
2
45

2
2
23

1
3
45

1
2
23
我写了一个SQL
SELECT F_CODEA, COUNT(f_codeb) OVER(PARTITION BY F_CODEA ORDER BY F_SUM RANGE UNBOUNDED PRECEDING)
FROM A_TEST
得出的结果是
1
1
1
3
1
3
2
1
我想要的结果是
1
1
1
2
1
3
2
1
请问如何改?
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
你的数据有问题
f_codea f_codeb f_sum
1 1 45
2 2 23
1 3 45
1 2 23
ELECT F_CODEA, COUNT(f_codeb) OVER(PARTITION BY F_CODEA ORDER BY F_CODEb RANGE UNBOUNDED PRECEDING)
FROM A_TEST
maybe ok
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
你这样写试一试看,应该是你的order by 有问题
SELECT F_CODEA, COUNT(f_codeb) OVER(PARTITION BY F_CODEA ORDER BY F_CODEARANGE UNBOUNDED PRECEDING)
FROM A_TEST
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
sELECT F_CODEA,f_codeb
rank()
OVER(PARTITION BY F_CODEA ORDER BY F_CODEb )
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
SELECT TT.F_CODEA,ROW_NUMBER() OVER(PARTITION BY TT.F_CODEB ORDER BY TT.F_SUM)AFROM A_TEST TT
ORDER BY F_CODEA,A
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行