Avatar billede smasher1000 Nybegynder
13. december 2008 - 20:00 Der er 6 kommentarer og
1 løsning

Navn + Alder på ældste person

Jeg har en database med en række personer - et felt er fornavn
(VARCHAR(50)) og et er f_dato (DATE).

Jeg bruger MySQL og php og vil gerne have vist
"Den ældste person er X som er X år."

Jeg har prøvet med en masse forskellige forespørgelser, men kan højst få vist alderen på den ældste person - ikke navnet.

Mit gæt er noget i denne stil, men som sagt kan jeg ikke finde
noget der virker.

$query18 = "SELECT fornavn, FLOOR((TO_DAYS(NOW())-TO_DAYS(f_dato))/365.25) AS alder FROM telefonliste WHERE alder = MAX(alder)";
$result18 = mysql_db_query($database, $query18, $connection);

while($data = mysql_fetch_array($result18)) {
$navn = $data['fornavn'];
$max_alder = $data['alder'];
}

Jeg henter $navn og $max_alder længere nede.

Dette stykke:
FLOOR((TO_DAYS(NOW())-TO_DAYS(f_dato))/365.25)
Har jeg brugt flere andre steder, og det virker fint - giver mig personens alder.

Jeg har også forsøgt noget med MIN(f_dato), uden held.
Avatar billede showsource Seniormester
13. december 2008 - 20:23 #1
?
Kan du ikke
SELECT fornavn, MIN(f_dato) FROM tabel ORDER BY f_dato ASC LIMIT o,1
Avatar billede showsource Seniormester
13. december 2008 - 20:24 #2
0,1 og o,1 :O)
Avatar billede smasher1000 Nybegynder
13. december 2008 - 20:53 #3
Det ville jo ikke vise alderen, men datoen? Og hvorfor limit? der er jo kun én tidligste dato.
Avatar billede showsource Seniormester
13. december 2008 - 20:59 #4
he, ja ( limit )

Men du burde kunne hente fornavn og f_dato uden problemer.
Bruger selv. flg. til at udregne alder i en query:

(YEAR(CURDATE())-YEAR(birth))-(RIGHT(CURDATE(), 5)< RIGHT(birth, 5)) as `alder`
Avatar billede showsource Seniormester
13. december 2008 - 21:28 #5
hmm,
Der er jo ingen grund til at bruge MAX eller MIN

$sql = "SELECT `fornavn`, (YEAR(CURDATE())-YEAR(`f_dato`))-(RIGHT(CURDATE(), 5)< RIGHT(`f_dato`, 5)) as `alder`
        FROM `tester`
        ORDER BY `f_dato` ASC LIMIT 0,1";
Avatar billede smasher1000 Nybegynder
13. december 2008 - 22:56 #6
Det virkede sørme! Mange tak.
Læg et svar, så du kan få point.
Avatar billede showsource Seniormester
14. december 2008 - 07:53 #7
ok
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