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 | 3270 (2169) | kuall |
| » | pc daljinecOddelek: Elektrotehnika in elektronika | 2135 (1976) | RobbyRS |
| » | [SQL] poizvedba problem - obrtnik in njegov najdrazji artikelOddelek: Programiranje | 2079 (1913) | imagodei |
| » | T-SQL FIRST / TOP / MAX...Oddelek: Programiranje | 1598 (1598) | frudi |
| » | [delphi] 2 bazi v eni mrežiOddelek: Programiranje | 1254 (1203) | seawolf |