Forum » Programiranje » [t-sql] SELECT TOP
[t-sql] SELECT TOP
nurmaln ::
Živjo
problemčič:
v tabeli imam
ARTIKEL | OPIS
---------------------
Artikel 1 - Opis A
Artikel 1 - Opis B
Artikel 1 - Opis C
Artikel 1 - Opis D
Artikel 1 - Opis E
Artikel 1 - Opis F
Artikel 2 - Opis A
Artikel 2 - Opis B
Artikel 2 - Opis C
Artikel 2 - Opis D
Artikel 2 - Opis E
Artikel 2 - Opis F
Kako bi napisal SELECT ki bi mi vrnil za vsak artikel prve tri vrstice opisa?
Če želim za vsak artikel posebej ni problema, pač napišem SELECT TOP 3 Opis FROM....
Kako zavraga naj dobim za VSE artikle izpisane prve tri vrstice opisov???
help plz
problemčič:
v tabeli imam
ARTIKEL | OPIS
---------------------
Artikel 1 - Opis A
Artikel 1 - Opis B
Artikel 1 - Opis C
Artikel 1 - Opis D
Artikel 1 - Opis E
Artikel 1 - Opis F
Artikel 2 - Opis A
Artikel 2 - Opis B
Artikel 2 - Opis C
Artikel 2 - Opis D
Artikel 2 - Opis E
Artikel 2 - Opis F
Kako bi napisal SELECT ki bi mi vrnil za vsak artikel prve tri vrstice opisa?
Če želim za vsak artikel posebej ni problema, pač napišem SELECT TOP 3 Opis FROM....
Kako zavraga naj dobim za VSE artikle izpisane prve tri vrstice opisov???
help plz
- spremenilo: snow ()
borchi ::
na hitro se spomnem samo tegale načina, verjetno pa obstaja veliko bolj eleganten...
select artikel, opis
from (
select t1.*, count(*) as cnt
from tabela t1
inner join tabela t2 on t1.artikel = t2.artikel
where t1.opis >= t2.opis
group by t1.artikel, t1.opis
) tab
where cnt < 4
order by artikel, opis
select artikel, opis
from (
select t1.*, count(*) as cnt
from tabela t1
inner join tabela t2 on t1.artikel = t2.artikel
where t1.opis >= t2.opis
group by t1.artikel, t1.opis
) tab
where cnt < 4
order by artikel, opis
l'jga
nurmaln ::
a se greva SQL za Telebane pa mi prosim razloži kaj za vraga naredi tale vrstica
where t1.opis >= t2.opis
where t1.opis >= t2.opis
borchi ::
ta del v navezi s count naredi to, da dejansko dobiš zaporedne številke recordov v tabeli in ker je potem še group by artikel in opis dobiš ločeno "številčenje" za posamen artikel v tem subselectu.
bi pa lahko prišlo do problemov (da bi ti vrnil več kot samo 3 recorde za posamen artikel), če artikel-opis ključ ni unique.
bi pa lahko prišlo do problemov (da bi ti vrnil več kot samo 3 recorde za posamen artikel), če artikel-opis ključ ni unique.
l'jga
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [SQL] Pohitritev izpisaOddelek: Programiranje | 2891 (1790) | kuall |
» | pc daljinecOddelek: Elektrotehnika in elektronika | 2020 (1861) | RobbyRS |
» | [SQL] poizvedba problem - obrtnik in njegov najdrazji artikelOddelek: Programiranje | 1953 (1787) | imagodei |
» | T-SQL FIRST / TOP / MAX...Oddelek: Programiranje | 1492 (1492) | frudi |
» | [delphi] 2 bazi v eni mrežiOddelek: Programiranje | 1095 (1044) | seawolf |