ďťż
 
[Oracle] numerowanie wierszy według danej wartości ďťż
 
[Oracle] numerowanie wierszy według danej wartości
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[Oracle] numerowanie wierszy według danej wartości



Adam - 13-11-2006 00:44
[Oracle] numerowanie wierszy według danej wartości
  Witam

Czy ktoś może wie jak skonstruować zapytanie, które dla tabeli np:
id, nazwa, jezyk, autor wypisze mi dane np:
numer_kolejny
1 a pl aa 1
2 a pl bb 2
3 a pl cc 3
4 b fr dd 1
5 b pl ee 2
6 c cr ff 1

Chodzi mi o to jak uzyskać odpowiednie numerowanie dla kolumy 'numer_kolejny'
dla tych samych wartości dla danej kolumny po której sortuję (w powyższym
przykładzie kolumna 'nazwa'). Nie używam group by, tylko sortowania po danej
kolumnie.

Pozdrawiam,
Adam

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/





sebek - 13-11-2006 00:44

  Spróbuj w ten sposób:

select id, nazwa, jezyk, autor, row_number()over(partition by nazwa order by
id)nr_kolejny from test

Pozdrawiam,
Sebastian




Adam - 13-11-2006 00:44

  sebek <niklaus@poczta.onet.pl> napisał(a):

> Spróbuj w ten sposób:
>
> select id, nazwa, jezyk, autor, row_number()over(partition by nazwa order by
> id)nr_kolejny from test
>

Yo Man!
Jesteś wielki!!
Dzięki wielkie!

Pozdrawiam,
Adam

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




bart - 13-11-2006 00:44

  bardziej uniwersalne, bo bedzie dzialac bez funkcji specyficznych dla
roznych baz...

SELECT id, nazwa, jezyk, autor,
(select count(*) from tabela b where b.id<=a.id and b.nazwa=a.nazwa)
as numer_kolejny
from tabela a;





Adam - 13-11-2006 00:44

  bart <bartoleq@wp.pl> napisał(a):

> bardziej uniwersalne, bo bedzie dzialac bez funkcji specyficznych dla
> roznych baz...
>
> SELECT id, nazwa, jezyk, autor,
> (select count(*) from tabela b where b.id<=a.id and b.nazwa=a.nazwa)
> as numer_kolejny
> from tabela a;
>
Tylko sprawa się komplikuje jak masz złączenia na 7 tabelach....

Pozdrawiam,
Adam

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




Adam - 13-11-2006 00:44

  sebek <niklaus@poczta.onet.pl> napisał(a):

> Spróbuj w ten sposób:
>
> select id, nazwa, jezyk, autor, row_number()over(partition by nazwa order by
> id)nr_kolejny from test
>
>
>

Hmmm - w pewnych przypadkach te numerki nie są posortowane, dodałem sortowanie
po tej kolumnie jednak zastanawia mnie to czemu to nie jest posortowane :|.

Pozdrawiam,
Adam

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/




bart - 13-11-2006 00:44

 
Adam napisał(a):
> bart <bartoleq@wp.pl> napisał(a):
>
> > bardziej uniwersalne, bo bedzie dzialac bez funkcji specyficznych dla
> > roznych baz...
> >
> > SELECT id, nazwa, jezyk, autor,
> > (select count(*) from tabela b where b.id<=a.id and b.nazwa=a.nazwa)
> > as numer_kolejny
> > from tabela a;
> >
> Tylko sprawa się komplikuje jak masz złączenia na 7 tabelach....
>

w twoim pierwszym poscie bylo o jednej tabeli .... wiec nie rozumiem
tej uwagi...
uniwersalnosc rozumialem ze nie kazda baza mam row_number i ta cala
reszte dziwnych rozszerzen standardu...

bartek.




Michał Kuratczyk - 13-11-2006 00:44

  Adam wrote:
>> select id, nazwa, jezyk, autor, row_number()over(partition by nazwa order
>> by id)nr_kolejny from test
> Hmmm - w pewnych przypadkach te numerki nie są posortowane, dodałem
> sortowanie po tej kolumnie jednak zastanawia mnie to czemu to nie jest
> posortowane :|.
A nie dlatego, że w zapytaniu jest "order by id" zamiast czegoś bardziej
przewidywalnego (np. order by autor)?

--
Michał Kuratczyk




Adam - 13-11-2006 00:44

  Michał Kuratczyk <kura@lj.pl> napisał(a):

> A nie dlatego, że w zapytaniu jest "order by id" zamiast czegoś bardziej
> przewidywalnego (np. order by autor)?
>
Tak - to jest klucz do sukcesu.

Pozdrawiam,
Adam

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= Oracle 19g +Insert +Insert +Insert... [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?= =?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?= [oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?= [oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?= MSSQL Express czy Oracle Express =?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?= =?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ponland.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com