Avatar billede lademan Novice
04. november 2003 - 17:09 Der er 14 kommentarer og
2 løsninger

Hent nyeste og ældste poster fra database

Hvad er den mest økonomiske måde at hente den nyeste og den ældste post i en database?
Avatar billede lademan Novice
04. november 2003 - 17:16 #1
Skal man have to udtræk eller kan den klares med ét?
Avatar billede stoffer Nybegynder
04. november 2003 - 17:30 #2
select max(mitværdi) as minmax, min(minværdi) as minmin from ......
Avatar billede stoffer Nybegynder
04. november 2003 - 17:31 #3
nu har jeg aldrig arbejdet i mysql, men det er i hvert fald den bedste måde i MSSQL...jeg vil tro at mySQL har samme kommandoer...
Avatar billede lademan Novice
04. november 2003 - 17:43 #4
du gider ikke komme med et hurtigt eksempel hvor du skriver begge eksempler ud?
Avatar billede lademan Novice
04. november 2003 - 17:44 #5
Altså udskriver den ældste og nyeste række?
Avatar billede lademan Novice
04. november 2003 - 21:25 #6
ok
Avatar billede stoffer Nybegynder
04. november 2003 - 21:45 #7
SELECT MAX(mitdatofelt) as MaxDate, Min(mitdatofelt) as MinDate FROM mintabel
Avatar billede lademan Novice
05. november 2003 - 20:45 #8
hmmm - hentes ikke kun datofelterne med ovenstående kode?
Avatar billede lademan Novice
05. november 2003 - 23:37 #9
Dette:

SELECT MAX(mitdatofelt) as MaxDate, Min(mitdatofelt) as MinDate FROM mintabel

Virker da ikke, når jeg vil hente den nyeste række og den ældste række i en tabel?? Henter jeg ikke kun den nyeste og den ældste dato?
Avatar billede lademan Novice
06. november 2003 - 14:33 #10
Har I et bud på dette?
Avatar billede lademan Novice
06. november 2003 - 16:00 #11
ok
Avatar billede jakobclausen Nybegynder
06. november 2003 - 16:04 #12
Det kan godt lade sig gøre at lave det i én forespørgsel, men jeg ville nu dele det op og lave det i to, synes jeg gør det lidt mere overskueligt.

Den nyeste:
SELECT * FROM mintabel ASC LIMIT 1

Den ældste:
SELECT * FROM mintabel DESC LIMIT 1
Avatar billede jakobclausen Nybegynder
06. november 2003 - 16:06 #13
Rettelse:

Den nyeste:
SELECT * FROM mintabel ORDER BY dato ASC LIMIT 1

Den ældste:
SELECT * FROM mintabel ORDER BY dato DESC LIMIT 1

dato -> her skal du skrive navnet på den kolonne hvor du har din dato
Avatar billede lademan Novice
06. november 2003 - 22:43 #14
jeg vil gerne spare på ressourcerne, så hvis du vil vise mig 1-versionen :-)
Avatar billede lademan Novice
08. november 2003 - 10:46 #15
Har du et eksempel, hvor det klares på kun 1 udtræk?
Avatar billede cwb Nybegynder
11. november 2003 - 11:29 #16
Det der gør opgaven vanskelig er at man ikke har nogen in operator i mysql...

Jeg tror at man er nødt til at lave løsningen over 2 query's
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