Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 13 odgovora
  • 5.267 pregleda

Najnovija ↓

Select Top zapisa po nekom kriteriju 16.02.2006. u 14:36 · pre 252 meseca #1
Pozdrav

Imam sljedeće zapise u bazi:

Artikl-----Cijena----Dokument-----Datum
A--------10--------KA001--------1.6.2005 <--
A--------15--------KA004--------1.7.2005
B--------12--------KA004--------1.7.2005 <--
B--------15--------KA005--------15.7.2005
B--------13--------KA006--------1.8.2005
C--------10--------KA002--------15.6.2005 <--
...

Trebam query koji će izvući za svaki artikl samo zapis koji ima najstariji datum.

Može li mi netko pomoći?

Hvala unaprijed.





Re: Select Top zapisa po nekom kriteriju 16.02.2006. u 22:29 · pre 252 meseca #4
probaj:

Code:

SELECT * FROM tabela ORDER BY datum DESC limit 0,1


Ako je sve kako treba, mysql ce sortirati rezultat po datumu, gde je najveci prvi a limit 0,1 ce ti vratiti samo 1 zapis i to taj najveci...

Nije testirano :)

Poz,
Sale
Potpis
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
Re: Select Top zapisa po nekom kriteriju 17.02.2006. u 08:42 · pre 252 meseca #6
@SmilieBG: On je trazio upit, koji ce mu vratiti za svaki artikl onaj zapis sa NAJSTARIJIM datumom. Tvoj upit dakle nece raditi kako je ocekivano.

@_owl_: Dobro rjesenje, ako on trazi samo artikl i najstariji datum, ali sta ako on zeli znati i cijenu i dokument od tog zapisa? Onda taj upit nece funkcionisati...

@Zok101: Mozda ovako:

Code:

select *
from tabela 
where (datum, artikl) IN(
      select min(datum), artikl
      from tabela
      group by artikl
)
Potpis
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
Re: Select Top zapisa po nekom kriteriju 17.02.2006. u 09:16 · pre 252 meseca #7
@Dejan: u pravu si, nisam lepo procitao :|

nested query je podrzan tek od verzije 5.0 mysql-a. resenje od Owl je ok, a ako mu trebaju i ostale kolone, morace da ih dopise u query.

Poz,
Sale
Potpis
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
Re: Select Top zapisa po nekom kriteriju 17.02.2006. u 09:18 · pre 252 meseca #8
@SmilieBG: Ispravka: subselect je podrzan od verzije 4.1.*
Potpis
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
Re: Select Top zapisa po nekom kriteriju 17.02.2006. u 15:33 · pre 252 meseca #9
Citat:

@_owl_: Dobro rjesenje, ako on trazi samo artikl i najstariji datum, ali sta ako on zeli znati i cijenu i dokument od tog zapisa? Onda taj upit nece funkcionisati...

Zar pre jedno mesec dana nije bila diskusija sa onim likom sto obozava TOP klauzulu u MSSQL-u da ako se promeni postavka problema moze da dodje i do promene resenja.
Potpis
Owl
Re: Select Top zapisa po nekom kriteriju 17.02.2006. u 15:50 · pre 252 meseca #10
Citat:
_owl_: Zar pre jedno mesec dana nije bila diskusija sa onim likom sto obozava TOP klauzulu u MSSQL-u da ako se promeni postavka problema moze da dodje i do promene resenja.

:) Pa postavka problema je da se izvuče ceo slog:
Citat:
Zok101: Trebam query koji će izvući za svaki artikl samo zapis koji ima najstariji datum.
Re: Select Top zapisa po nekom kriteriju 17.02.2006. u 23:09 · pre 252 meseca #11
Izgleda da nisi pazljivo citao, poenta je da postoji samo jedan slog sa najstarijim datumom pa zato moze da se koristi GROUP BY a ne da li se selektuju sva polja ili ne (bas volim likove koji vole da podjebavaju na sitno).
Potpis
Owl
Re: Select Top zapisa po nekom kriteriju 18.02.2006. u 16:22 · pre 252 meseca #12
@_owl_: Sorry, ako mislis da ja ili neko drugi podjebavamo... Meni to stvarno nije namjera...

Napisao sam da tvoje rjesenje radi, ukoliko on zeli samo artikl i min(datum), ali to nije CITAV zapis, koji sadrzi i ostala polja. Zapis/record/row podrazumijeva sva polja u njemu i komentari su se odnosili na to...
Potpis
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
Re: Select Top zapisa po nekom kriteriju 21.02.2006. u 14:54 · pre 251 mesec #14
Dečki, hvala vam na trudu.
Ispričavam se što nisam odgovarao, ali savjeti su pomogli.

Trebao sam izdvojiti cijele zapise.

Izlaz sam dobio sljedećim upitom:

Code:
select a.artikl, a.dokument, max(a.mpc) as mpc, a.datum from kalk a 
where not exists (select b.* from kalk b where b.artikl = a.artikl and b.datum <  a.datum) group by a.artikl, a.datum, a.dokument


Pozdrav
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme