Avatar billede a330 Nybegynder
18. februar 2012 - 15:45 Der er 7 kommentarer og
1 løsning

Select en row efter en dato + den næste efter denne

Hej jeg har denne:

SELECT * FROM Data WHERE Data.Id  = " ' . $_SESSION['id'] . ' " AND Data.ErrCode = "0" AND Data.TimeStamp LIKE "%'.$datoValgt.'%"  ORDER BY Data.TimeStamp DESC

Det giver mig en row, men jeg skal også bruge den row umiddelbart efter denne $datoValgt. Alle rows ligge med ca 24 timers mellerum i timestamp, men nogle gange er der en row hvori der er en ErrCode som er aktiv, og den skal den vælges??
Avatar billede gnoname Praktikant
20. februar 2012 - 11:13 #1
SELECT *
FROM  DATA
WHERE  DATA.ID = " ' . $_SESSION['id'] . ' "
AND    DATA.ERRCODE = "0"
AND    DATA.TIMESTAMP LIKE "%'.$datoValgt.'%"
ORDER BY DATA:TIMESTAMP DESC
LIMIT  2

Jeg går ud fra at du mener en record med aktiv ErrCode ikke skal med?
Avatar billede a330 Nybegynder
20. februar 2012 - 11:25 #2
Jo det er korekt at ErrCode ikke skal med.

Men min query retunerer kun en row (en row i døgnet)

Så Limit 2 vil ikke virke hvis jeg kun har en row per 'Timestamp' ??
Avatar billede gnoname Praktikant
20. februar 2012 - 17:59 #3
Sorry:

SELECT *
FROM  DATA
WHERE  DATA.ID = " ' . $_SESSION['id'] . ' "
AND    DATA.ERRCODE = "0"
AND    DATA.TIMESTAMP <= "%'.$datoValgt.'%"
ORDER BY DATA:TIMESTAMP DESC
LIMIT  2
Avatar billede a330 Nybegynder
21. februar 2012 - 04:57 #4
Jeg skulle lige fjerne % men ellers virker det, tak for hjælpen..

Læg et svar?

query blev som denne:
SELECT *
FROM  DATA
WHERE  DATA.ID = " ' . $_SESSION['id'] . ' "
AND    DATA.ERRCODE = "0"
AND    DATA.TIMESTAMP <= "'.$datoValgt.'"
ORDER BY DATA:TIMESTAMP DESC
LIMIT  2
Avatar billede a330 Nybegynder
21. februar 2012 - 05:00 #5
Det blev SELECT *
FROM  DATA
WHERE DATA.ID = " ' . $_SESSION['id'] . ' "
AND DATA.ERRCODE = "0"
AND DATA.TIMESTAMP <= "'.$datoValgt.'"
ORDER BY DATA:TIMESTAMP DESC
LIMIT 2

Skulle fjerne %, men elles virker det som det skal. Læg et svar!
Tak for hjælpen
Avatar billede a330 Nybegynder
21. februar 2012 - 05:01 #6
Det blev
SELECT * FROM DATA
WHERE DATA.ID = " ' . $_SESSION['id'] . ' "
AND DATA.ERRCODE = "0"
AND DATA.TIMESTAMP <= "'.$datoValgt.'"
ORDER BY DATA:TIMESTAMP DESC
LIMIT 2

Skulle fjerne %, men elles virker det som det skal. Læg et svar!
Tak for hjælpen
Avatar billede a330 Nybegynder
21. februar 2012 - 05:02 #7
Det blev
SELECT * FROM DATA
WHERE DATA.ID = " ' . $_SESSION['id'] . ' "
AND DATA.ERRCODE = "0"
AND DATA.TIMESTAMP <= "'.$datoValgt.'"
ORDER BY DATA:TIMESTAMP DESC
LIMIT 2

Skulle fjerne %, men elles virker det som det skal. Læg et svar!
Tak for hjælpen
Avatar billede gnoname Praktikant
21. februar 2012 - 09:57 #8
Helt i orden :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester