Hej hå...
Har suttit å letat ett tag utan att hitta någon lösning på mitt lilla problem.
Databasexempel:
ID värde1 värde2 värde3
1 456 213 486
2 4564 45 545
3 5 523 1
4 5132 12 58
5 513 531 865
6 488 43 0
7 696 521 85
8 5321 8531 96
9 8524 0 63
10 52 41 991
11 112 358 945
12 54 32 563
13 889 962 453
14 851 33 562
15 428 5321 058
Vill kunna plocka fram en hög om fem rader var som helst ur databasen, exempelvis ID sex till tio. Såg en lösning för läääänge sen, men den har fallit i glömska. Var något i stil med:
"SELECT BOTTOM {antalet poster mellan EOF och ID6} * FROM tabellen (INNER JOIN TOP 5 something like this ORDER BY ID DESC) ORDER BY ID ASC"
Kan någon säga om jag är på rätt spår? :)
LarsGMedlem sedan dec. 200012 464 inlägg select *
from t
where id between 6 and 10
Då jag förmodligen missförstår detta så kan du väl förklara lite bättre.
Problemet med din lösning är att man får ut ID 6-10, inte rad nr 6-10 räknat uppifrån. Tas ex.vis ID 7 och 8 bort får jag ju bara ut tre poster.
Nytt exempel:
ID
1
2
3
7
12
13
14
18
22
23
25
26
28
29
31
Jag har en sida som ska visa annonser på sidor om fem annonser, med den senast införda (nedersta) först. Första sidan blir enkel. SELECT BOTTOM 5... Men sen när jag vill få ut ex.vis ID 23, 22, 18, 14 och 13 för sida två, så strular det till sig.
Hänger du med..?
LarsGMedlem sedan dec. 200012 464 inlägg Att prata om radnummer och uppifrån eller nerifrån är inte applicerbart för en relationsdatabas. ;)
select top 5 *
from t
where id not in
(select top 5 id
from t
order by id desc)
order by id desc
Att prata om radnummer och uppifrån eller nerifrån är inte applicerbart för en relationsdatabas.
Har aldrig påstått att jag inte är bakom flötet. ;)
Det där var precis vad jag letade efter. Tack! :)
är inte "SELECT * FROM t LIMIT 6,5" bättre?
@ndersMedlem sedan juni 200032 969 inlägg
Dies_Irae skrev:
är inte "SELECT * FROM t LIMIT 6,5" bättre?
Om det hade varit tal om MySQL kanske det hade varit en fin lösning. :)