/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
MySQL - Find rækken før?
Fra : Dude


Dato : 11-10-07 09:39

Er der mon nogen som vil hjælpe mig, her:

Jeg har 1 information, men skal finde 2 resultater i MySQL-databasen.

Jeg bruger min information til at finde det ene resultat:

SELECT ...osv... WHERE info = 'information'

Og så får jeg resultat_1. Fint.

Men nu skal jeg så bruge rækken lige før resultat_1 - hvordan finder jeg
den?

-

Giver mit spørgsmål mon mening?

Mvh
john

 
 
Peter Brodersen (11-10-2007)
Kommentar
Fra : Peter Brodersen


Dato : 11-10-07 13:12

On Thu, 11 Oct 2007 10:39:27 +0200, Dude <post@XxXx_mejlgade.dk>
wrote:

>SELECT ...osv... WHERE info = 'information'
>
>Og så får jeg resultat_1. Fint.
>
>Men nu skal jeg så bruge rækken lige før resultat_1 - hvordan finder jeg
>den?

Rækken "før" afhænger af hvordan, du sorterer dit indhold. Det kunne
være ud fra et id-nummer Hvis du fx trækker et id-nummer ud fra
ovenstående opslag, og vil have det højeste id-nummer, der ligger lige
før, kan du fx afvikle:

SELECT ... ... WHERE id < 432 ORDER BY id DESC LIMIT 1

Her er 432 for eksempel det id-nummer, du trak oprindeligt ud.

--
- Peter Brodersen
Kendt fra Internet

Dude (11-10-2007)
Kommentar
Fra : Dude


Dato : 11-10-07 15:15

Peter Brodersen wrote:

> Rækken "før" afhænger af hvordan, du sorterer dit indhold.

John:
Den er jeg med på.

Peter skrev:
Det kunne
> være ud fra et id-nummer Hvis du fx trækker et id-nummer ud fra
> ovenstående opslag, og vil have det højeste id-nummer, der ligger lige
> før, kan du fx afvikle:
>
> SELECT ... ... WHERE id < 432 ORDER BY id DESC LIMIT 1
>
> Her er 432 for eksempel det id-nummer, du trak oprindeligt ud.


John:
Men jeg sorterer ikke udfra tal. Jeg sorterer udfra en tekststreng.
Jeg tænkte om man på en nem måde kunne hente "row-1", når man henter
resultat_1.

Man kan jo altid bare tælle rækkerne, og så se hvilken række resultat_1
ligger i, og så hente række-1 bagefter.
Tænkte bare om der evt var en nemmere måde...?

Kh
John


Michael Haase (11-10-2007)
Kommentar
Fra : Michael Haase


Dato : 11-10-07 17:08

Dude skrev dette den 11-10-2007 16:14:
> Peter Brodersen wrote:
>
>> Rækken "før" afhænger af hvordan, du sorterer dit indhold.
>
> John:
> Den er jeg med på.
>
> Peter skrev:
> Det kunne
>> være ud fra et id-nummer Hvis du fx trækker et id-nummer ud fra
>> ovenstående opslag, og vil have det højeste id-nummer, der ligger lige
>> før, kan du fx afvikle:
>>
>> SELECT ... ... WHERE id < 432 ORDER BY id DESC LIMIT 1
>>
>> Her er 432 for eksempel det id-nummer, du trak oprindeligt ud.
>
>
> John:
> Men jeg sorterer ikke udfra tal. Jeg sorterer udfra en tekststreng.
> Jeg tænkte om man på en nem måde kunne hente "row-1", når man henter
> resultat_1.
>
> Man kan jo altid bare tælle rækkerne, og så se hvilken række resultat_1
> ligger i, og så hente række-1 bagefter.
> Tænkte bare om der evt var en nemmere måde...?
>
> Kh
> John
>
Prøv med:

select * from TABEL where
INFO = (select max(INFO) from TABEL
where
INFO < 'information')
order by info ASC

Hvis du så vil finde den næste række i stedet for, så skal du bruge
"Select min(info)" og INFO > 'information'

--
Michael Haase

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste