powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / RANK functions
4 сообщений из 4, страница 1 из 1
RANK functions
    #32180436
Gri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gri
Гость
create table rank_test (id number(3),salary number)

insert into rank_test values (1,100)
insert into rank_test values (1,200)
insert into rank_test values (1,150)
insert into rank_test values (1,100)

insert into rank_test values (2,100)
insert into rank_test values (2,150)

insert into rank_test values (3,250)

SQL> select * from rank_test
2 /

ID SALARY
---------- ----------
1 100
1 200
1 150
1 100
2 100
2 150
3 250

7 rows selected.


1 select ID,SALARY ,
2 RANK() over (partition by ID order by SALARY desc) "RANK"
3 FROM rank_test
4 /

ID SALARY RANK
---------- ---------- ----------
1 200 1
1 150 2
1 100 3
1 100 3
2 150 1
2 100 2
3 250 1



SQL> select ID,SALARY ,
2 RANK(100) within group (order by SALARY) "RANK"
3 FROM rank_test
4 /
RANK(100) within group (order by SALARY) "RANK"
*
ERROR at line 2:
ORA-00907: missing right parenthesis


В чем проблема ??

Oracle8i Enterprise Edition Release 8.1.6.3.0
...
Рейтинг: 0 / 0
RANK functions
    #32180448
Delerium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nado vnjimateljno posmotretj syntax'is funkciji RANK:

->RANK->()->OVER->( -> [query_partition_clause] -> {ORDER_BY_clause} ->) ->

Jasno vidno, shto parametri v RANK tak njeperedavajut.
...
Рейтинг: 0 / 0
RANK functions
    #32180474
Gri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gri
Гость
RANK

Aggregate Syntax

rank_aggregate::=
RANK ( expr) WITHIN GROUP( ORDER BY expr DESC | ASC ,|NULLS |FIRST |LAST)

Analytic Syntax
rank_analytic::= RANK ( ) OVER ( query_partition_clause order_by_clause )





Это из Oracle9 i SQL Reference

6-120

может первый вариант толко для 9i
...
Рейтинг: 0 / 0
RANK functions
    #32180623
Silver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Судя по доке 9i -- на самом деле 2 функции RANK -- agregate и analytic.
Для agregate:
RANK ( expr [, expr]... ) WITHIN GROUP
( ORDER BY
expr [ DESC | ASC ] [NULLS { FIRST | LAST }]
[, expr [ DESC | ASC ] [NULLS { FIRST | LAST }]]...
)

Для analytic:
RANK ( ) OVER ( [query_partition_clause] order_by_clause )

И по-моему agregate`ный RANK -- фича 9i, т.к. в доке от 8.1.6 я ее нашел только с синтаксисом analytic
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / RANK functions
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]