ďťż
 
=?iso-8859-2?q?Zagnie=BFdzone_SQL,_funkcje_wbudowane?= ďťż
 
=?iso-8859-2?q?Zagnie=BFdzone_SQL,_funkcje_wbudowane?=
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

=?iso-8859-2?q?Zagnie=BFdzone_SQL,_funkcje_wbudowane?=



Krzysiek299 - 16-04-2006 00:06
=?iso-8859-2?q?Zagnie=BFdzone_SQL,_funkcje_wbudowane?=
  Witam.

Próbuje obliczyć korelację pomiędzy dwiema danymi następującym
zapytanmiem:

SELECT CORR(SELECT something FROM mytable WHERE id=1, SELECT something
FROM mytable WHERE id=2) FROM mytable;

Niestety otrzymuje błąd. Jak powinno w tym przypadku wyglądać
zapytanie? funkcja wbudowana ma składnie:

SELECT CORR(expr1,expr2) FROM mytable; gdzie expr1 to nazwa 1 kolumny z
tabeli mytable, a expr2 to nazwa 2 kolumny z tabeli mytable.

Proszę o pomoc!
Korzystam z Oracle 10g.





=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 16-04-2006 00:06

  Użytkownik Krzysiek299 napisał:
> Witam.
>
> Próbuje obliczyć korelację pomiędzy dwiema danymi następującym
> zapytanmiem:
>
> SELECT CORR(SELECT something FROM mytable WHERE id=1, SELECT something
> FROM mytable WHERE id=2) FROM mytable;

Najprawdopodobniej wystarczy podzapytania opakować w nawiasy (przy założeniu, że
zwracaja jeden wiersz) i ostatnią tabele zamienić na dual.

--
P.M.




Krzysiek299 - 17-04-2006 00:02

  DUAL i nawiasy nie pomagaja:(
Ale podzapytania te zwracaja wiecej niz jeden wiersz (i o to
wyskakuje teraz blad), poniewaz funkcja CORR(expr1,expr2) wymaga
wiecej niz jednego rekordu danych. expr1 to nazwa 1 kolumny z tabeli,
i do obliczen brane sa wtedy wszystkie rekordy z tej kolumny
(analogicznie expr2).

Czy podzapytania moga zwracac wiecej niz jeden wiersz? Da sie to
jakos ominac?




Michal - 17-04-2006 00:02

  >
> Czy podzapytania moga zwracac wiecej niz jeden wiersz? Da sie to
> jakos ominac?
>

Zobacz na operator IN () ale nie wiem czy Ci pomoze w tym przypadku.

Pozdrawiam





Krzysiek299 - 17-04-2006 00:02

  IN tutaj raczej nie pomoze:(
moja tabela wyglada nastepujaco:
x | id
-------
2 | 1
5 | 2
2 | 1
3 | 2
3 | 1
4 | 2
probuje obliczyc korelacje pomiedzy x'ami o id=1 a x'ami o id=2.

Zapytanie:
SELECT CORR(x1,x2) FROM
(SELECT x AS x1 FROM mytable WHERE id=1),
(SELECT x AS x2 FROM mytable WHERE id=2);
liczy korelacje ale zawsze daje wartosc 0, czyli bledna:(

Wogole dziwny rezultat otrzymuje samym zapytaniem:
SELECT * FROM (SELECT x AS x1 FROM mytable WHERE id=1),
(SELECT x AS x2 FROM mytable WHERE id=2):
x1 | x2
----------
2 | 5
2 | 5
3 | 5
a przeciez x2 powinno byc 5 3 4?
Dlaczego to ostatnie zapytanie nie dziala prawidlowo? Macie moze
jakies pomysly?




Krzysiek299 - 17-04-2006 00:02

  Rozwiazanie podal mi MD na comp.databases.oracle.server i wyglada
nastepujaco:
tabela musi miec dodatkowa kolumne aby dane moglybyc pogrupowane w
pary:
x | id | no
--------------
2 | 1 | 1
5 | 2 | 1
2 | 1 | 2
3 | 2 | 2
3 | 1 | 3
4 | 2 | 3
i teraz korelacje pomiedzy x'ami o id=1, a x'ami o id=2 zwraca
zapytanie:
SELECT corr(x1,x2)
FROM (
SELECT t1.x x1,t2.x x2
FROM mytable t1,mytable t2
WHERE t1.NO = t2.NO AND t1.ID=1 AND t2.ID=2 ORDER BY t1.NO
);

dzieki za pomoc. pozdrawiam
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO Czy zna (obsługuje) ktoś program Iso Draw ? Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?= MYSQL - kodowanie w ISO-PL strona plus baza w iso do utf-8 Kodowanie: z iso na utf [oracle] - Oracle SQL Developer - co to jest SID? MS Sql Server 2000 i Server 2003 [MS SQL + kontakty outlook]CZy kontakty moge być zewnętrzne? [oracle] Baza danych do kursy Introduction to Oracle9i:PL/SQL ? Skąd ją pobrać ?
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • numervin.keep.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