|
| Hvordan laver jeg min select? (mySQL) Fra : Jonas Jalling |
Dato : 20-06-04 11:20 |
|
Hej,
Jeg er stødt ind i et problem, som jeg ikke rigtig kan finde ud af hvordan
jeg løser. Jeg har en tabel, med to felter (id og checksum). id er unik, med
auto_increment.
I denne tabel har jeg så f.eks. 4 rækker:
id - checksum
23 - abc123
24 - def456
25 - ghi789
26 - jkl012
Så sletter jeg rækken der har id=25.
Nu er der følgende 3 tilbage:
23 - abc123
24 - def456
26 - jkl012
Jeg skal nu på en eller anden måde lave en select, der giver mig rækken
id=26 plus rækken over den (sorteret efter id).
I dette tilfælde rækken id=24.
Hvordan gør jeg det? Er det til at forstå hvad jeg mener?
--
Med venlig hilsen
Jonas Jalling
| |
Jonas Jalling (20-06-2004)
| Kommentar Fra : Jonas Jalling |
Dato : 20-06-04 11:32 |
|
Jonas Jalling wrote:
> Hej,
<snip>
Doh!! Sådan gøres det:
SELECT * FROM table WHERE id <= 26 ORDER BY id DESC LIMIT 2;
--
Med venlig hilsen
Jonas Jalling
| |
Jan Bachman (20-06-2004)
| Kommentar Fra : Jan Bachman |
Dato : 20-06-04 11:34 |
|
>Hvordan gør jeg det? Er det til at forstå hvad jeg mener?
Måske nedenstående er et skridt på vejen.
select t1.ID, min(t2.ID) as nextID
from tabel as t1, tabel as t2
where t2.ID>t1.ID
group by t1.ID;
Du kan neste resultatet, trække ID og nextID fra hinanden, og lave
"noget smart" hvor forskel>1.
/Jan
| |
|
|