ďťż
 
[SQL] eliminacja podobnych rekordow ďťż
 
[SQL] eliminacja podobnych rekordow
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

[SQL] eliminacja podobnych rekordow



Kaiks - 12-01-2006 09:31
[SQL] eliminacja podobnych rekordow
  witam
pisalem wczesniej bez wiekszego odzewu wiec sprobuje raz jeszcze

mam baze (jedna tabela 'a')
a(klucz, data, nr_b, nr_c, nr_d, abc, bcd)

pola w tabeli powtarzaja sie czasem, czasem nie, za wyjatkiem pola
'data' no i 'klucz' ono zmienia sie, potrzebuje wyziagnac z tej bazy
wszystkie pola powtarzajace sie lacznie z ostatnia 'data' ale tylko raz.

np.
a(1, 1999-01-02, 2, 6, 5, abc, bcd)
a(2, 1999-09-02, 3, 7, 9, bcz, gcd)
a(3, 2000-11-02, 4, 8, 10, fbc, jcd)
a(4, 2001-01-22, 2, 6, 5, abc, bcd)

chce zeby mi wskazalo ostatnie 3 (1 i 4 powtarzaja sie oprocz daty
data w 4 jest ostatnia.

probuje cos takiego

SELECT *
FROM a
where exists ( select DISTINCT [nr_c] from [a]);

ale pokazuje to wszystkie rekordy w bazie

ktos pomoze?
z gory wielkie dzieki

pozdr,
kx





Smith - 12-01-2006 09:31

 
> mam baze (jedna tabela 'a')
> a(klucz, data, nr_b, nr_c, nr_d, abc, bcd)
>
> pola w tabeli powtarzaja sie czasem, czasem nie, za wyjatkiem pola
> 'data' no i 'klucz' ono zmienia sie, potrzebuje wyziagnac z tej bazy
> wszystkie pola powtarzajace sie lacznie z ostatnia 'data' ale tylko raz.
>
> np.
> a(1, 1999-01-02, 2, 6, 5, abc, bcd)
> a(2, 1999-09-02, 3, 7, 9, bcz, gcd)
> a(3, 2000-11-02, 4, 8, 10, fbc, jcd)
> a(4, 2001-01-22, 2, 6, 5, abc, bcd)
>
> chce zeby mi wskazalo ostatnie 3 (1 i 4 powtarzaja sie oprocz daty
> data w 4 jest ostatnia.
>
> ktos pomoze?

Cześć

SELECT Max(data),nr_b, nr_c,nr_d, var_a, var_b
FROM a
GROUP BY nr_b, nr_c,nr_d, var_a, var_b

Pozdrawiam
Paweł




Lucyna Witkowska - 12-01-2006 09:31

  Kaiks <kaiks@nospam.com> napisał:
> pisalem wczesniej bez wiekszego odzewu wiec sprobuje raz jeszcze

> mam baze (jedna tabela 'a')
> a(klucz, data, nr_b, nr_c, nr_d, abc, bcd)

> pola w tabeli powtarzaja sie czasem, czasem nie, za wyjatkiem pola
> 'data' no i 'klucz' ono zmienia sie, potrzebuje wyziagnac z tej bazy
> wszystkie pola powtarzajace sie lacznie z ostatnia 'data' ale tylko raz.

> np.
> a(1, 1999-01-02, 2, 6, 5, abc, bcd)
> a(2, 1999-09-02, 3, 7, 9, bcz, gcd)
> a(3, 2000-11-02, 4, 8, 10, fbc, jcd)
> a(4, 2001-01-22, 2, 6, 5, abc, bcd)

> chce zeby mi wskazalo ostatnie 3 (1 i 4 powtarzaja sie oprocz daty
> data w 4 jest ostatnia.

> probuje cos takiego

> SELECT *
> FROM a
> where exists ( select DISTINCT [nr_c] from [a]);

> ale pokazuje to wszystkie rekordy w bazie

Jaka baza?

SELECT * FROM a
WHERE (data, nr_c) IN
(SELECT max(data), nr_c FROM a GROUP BY nr_c);

Jesli potrzebne grupowanie po innych kolumnach - zapytanie trzeba
zmodyfikowac.

Pozdrowienia,
LW




Kaiks - 15-01-2006 19:16

  Lucyna Witkowska napisał(a):
> Kaiks <kaiks@nospam.com> napisał:
>
>>pisalem wczesniej bez wiekszego odzewu wiec sprobuje raz jeszcze
>
>
>>mam baze (jedna tabela 'a')
>>a(klucz, data, nr_b, nr_c, nr_d, abc, bcd)
>
>
>>pola w tabeli powtarzaja sie czasem, czasem nie, za wyjatkiem pola
>>'data' no i 'klucz' ono zmienia sie, potrzebuje wyziagnac z tej bazy
>>wszystkie pola powtarzajace sie lacznie z ostatnia 'data' ale tylko raz.
>
>
>>np.
>>a(1, 1999-01-02, 2, 6, 5, abc, bcd)
>>a(2, 1999-09-02, 3, 7, 9, bcz, gcd)
>>a(3, 2000-11-02, 4, 8, 10, fbc, jcd)
>>a(4, 2001-01-22, 2, 6, 5, abc, bcd)
>
>
>>chce zeby mi wskazalo ostatnie 3 (1 i 4 powtarzaja sie oprocz daty
>>data w 4 jest ostatnia.
>
>
>>probuje cos takiego
>
>
>>SELECT *
>>FROM a
>>where exists ( select DISTINCT [nr_c] from [a]);
>
>
>>ale pokazuje to wszystkie rekordy w bazie
>
>
> Jaka baza?
>
> SELECT * FROM a
> WHERE (data, nr_c) IN
> (SELECT max(data), nr_c FROM a GROUP BY nr_c);
>
> Jesli potrzebne grupowanie po innych kolumnach - zapytanie trzeba
> zmodyfikowac.
>
> Pozdrowienia,
> LW
>
>
>
NIESTETY OTRZYMUJE BLAD SKLADNIOWY :(





Kasia Balicka - 15-01-2006 19:17

  > Lucyna Witkowska napisał(a):
> > Kaiks <kaiks@nospam.com> napisał:
> >
> >>pisalem wczesniej bez wiekszego odzewu wiec sprobuje raz jeszcze
> >
> >
> >>mam baze (jedna tabela 'a')
> >>a(klucz, data, nr_b, nr_c, nr_d, abc, bcd)
> >
> >
> >>pola w tabeli powtarzaja sie czasem, czasem nie, za wyjatkiem pola
> >>'data' no i 'klucz' ono zmienia sie, potrzebuje wyziagnac z
> tej bazy
> >>wszystkie pola powtarzajace sie lacznie z ostatnia 'data'
> ale tylko raz.
> >
> >
> >>np.
> >>a(1, 1999-01-02, 2, 6, 5, abc, bcd)
> >>a(2, 1999-09-02, 3, 7, 9, bcz, gcd)
> >>a(3, 2000-11-02, 4, 8, 10, fbc, jcd)
> >>a(4, 2001-01-22, 2, 6, 5, abc, bcd)
> >
> >
> >>chce zeby mi wskazalo ostatnie 3 (1 i 4 powtarzaja sie oprocz daty
> >>data w 4 jest ostatnia.
> >
> >
> >>probuje cos takiego
> >
> >
> >>SELECT *
> >>FROM a
> >>where exists ( select DISTINCT [nr_c] from [a]);
> >
> >
> >>ale pokazuje to wszystkie rekordy w bazie
> >
> >
> > Jaka baza?
> >
> > SELECT * FROM a
> > WHERE (data, nr_c) IN
> > (SELECT max(data), nr_c FROM a GROUP BY nr_c);
> >
> > Jesli potrzebne grupowanie po innych kolumnach - zapytanie trzeba
> > zmodyfikowac.
> >
> > Pozdrowienia,
> > LW
> >
> >
> >
> NIESTETY OTRZYMUJE BLAD SKLADNIOWY :(

Proponuje cos takiego

select nr_b, nr_c, nr_d, abc, bcd, max(data)
from a
group by nr_b, nr_c, nr_d, abc, bcd

gdybys chcial jeszcze sprawdzać liczbe powtorzen to musial bys zastosowac
klauzule having
Proponuje jakiegos helpa poczytac.
Kasia

--
Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?= Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?= =?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= =?ISO-8859-2?Q?k=B3opot_z_uruchomieniem_MY_SQL_dla_C?==?ISO-8859-2?Q?MS_i_CRM_na_Fedora_Core_3?= Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= =?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?= =?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?= [newbie] MS SQL - praca =?ISO-8859-2?Q?jednocze=B6nie_na_2_?==?ISO-8859-2?Q?bazach_=28linkowanie_=3F=29?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • czterowers.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