Toon posts:

(My)SQL Select rows

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende probleem: Ik wil uit een tabel 1 record selecteren, maar ook de 5 records ervoor en de 5 erna, volgens een bepaalde ORDER BY statement.

Het lukt me wel om dat in PHP te coden, maar dat moet toch ook lukken in 1 query ?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Wat is het voor een tabel?
Hoe selecteer je die ene row?
Hoe ziet de data eruit in de tabel?

KORTOM MEER INFO... oops caps..

Programmer - an organism that turns coffee into software.


  • getty
  • Registratie: Januari 2001
  • Laatst online: 28-08 13:19
Hier kunnen we echt niet mee nee.

A computer is almost human - except that it does not blame its mistakes on another computer.


  • Scharnout
  • Registratie: November 2000
  • Laatst online: 23-08 12:39

Scharnout

Meuk

Voornamelijk .... waar selecteer je op en hoe zit dat in je database?

And Bob's your uncle ...


Verwijderd

Topicstarter
Dat maakt toch allemaal niet uit voor dit voorbeeld ?

Maar om het toch ff te doen:

Tabel met ID, Name en Datum

Ik wil nu bv. ID=342 krijgen, maar ook de 5 entries die vlak ervoor gedaan zijn (ORDER BY Datum dus) en de 5 erna. ID kan ik niet gebruiken als ORDER BY, want ik wil ze op Datum geordend hebben.

Ik vermoed dat je bij het opvragen via een ORDER BY elke row ook een uniek nummer kunt geven (het volgnummer van die row oid) en dan dat nummer gebruiken om de 5 row servoor en erna te gebruiken, maar ik heb momenteel nog niet gevonden hoe... :\

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 01 januari 1970 @ 01:00:

Ik vermoed dat je bij het opvragen via een ORDER BY elke row ook een uniek nummer kunt geven (het volgnummer van die row oid) en dan dat nummer gebruiken om de 5 row servoor en erna te gebruiken, maar ik heb momenteel nog niet gevonden hoe... :\
Hoe vermoed je dat?

Maar iig probeer dit eens.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SELECT
    t1.datum, t1.id,
    t2.datum, t2.id,
    t3.datum, t3.id
from 
    table as t1
right join 
    table as t2
on 
    t2.id < t1.id
right join 
    table as t3
on
    t3.id > t3.id
where
    t1.id = <IDNUMMER>
order by
    t1.datum,
    t2.datum,
    t3.datum
limit 5

Programmer - an organism that turns coffee into software.

Pagina: 1