anoniem Geplaatst: 27 februari 2002 Delen Geplaatst: 27 februari 2002 Ik wil uit een tabel maar 1 record selecteren, en wel dat record met de meest recente datum. De datum zelf staat uiteraard in een veld. Hoe doe ik dat? Quote Link naar reactie
anoniem Geplaatst: 27 februari 2002 Auteur Delen Geplaatst: 27 februari 2002 Select Max(datum_tijd) FROM tabel Het nadeel is dat je geen andere velden kan meevragen in de recordset. Wat je ook kan doen is het volgende: SELECT id_record, datum_tijd FROM tabel ORDER BY datum_tijd DESC Dan krijg je het record met de meest recente datum bovenaan. Greetz, Taz Quote Link naar reactie
anoniem Geplaatst: 27 februari 2002 Auteur Delen Geplaatst: 27 februari 2002 Oplossing 2 heb ik nu ook, maar ik kan me niet voorstellen dat het niet anders kan. Want stel ik heb in mijn tabel 3 miljoen records? Er was toch zoiets als TOP? Quote Link naar reactie
anoniem Geplaatst: 27 februari 2002 Auteur Delen Geplaatst: 27 februari 2002 Ja, TOP bestaat ook SELECT TOP 1 dat_tim FROM tabel Dit geeft alleen de eerste terug. Maar dat doet ook niet wat je wil. Je kan wel zeggen: SELECT TOP 1 * FROM Tabel ORDER BY dat_tim DESC Die geeft dan alleen de eerste terug. Quote Link naar reactie
anoniem Geplaatst: 27 februari 2002 Auteur Delen Geplaatst: 27 februari 2002 [quote:caf4fb19a4]SELECT TOP 1 * FROM Tabel ORDER BY dat_tim DESC Die geeft dan alleen de eerste terug. [/quote:caf4fb19a4] Nou, dan is dat 'm toch? Quote Link naar reactie
anoniem Geplaatst: 27 februari 2002 Auteur Delen Geplaatst: 27 februari 2002 Jawel, maar de top wordt pas uitgevoerd, nadat de records zijn opgehaald. Dat wil zeggen, in een database met 3 miljoen records, haalt hij eerst de de record op, gooit de laatst 2.999.999 weg en geeft de eerste terug. Is nog steeds een behoorlijke belasting (relatief dan. een beetje database heeft hier geen moeite mee...) _________________ Live is all about priorities.<br> Was also known as Taz4fun... [ Dit Bericht is bewerkt door: Tazzie op 2002-02-27 18:23 ] Quote Link naar reactie
anoniem Geplaatst: 27 februari 2002 Auteur Delen Geplaatst: 27 februari 2002 Oh, ja dat is dus ook niet de bedoeling. FF nadenken hoor.... Uhm..Select Max(datum_tijd) FROM tabel Akkoord, dan krijg ik dus 1 record. Dan ik daarna toch weer zeggen Zoekarg=Max(datum_tijd) Select * from tabel where datum_tijd = zoekarg ?? Quote Link naar reactie
anoniem Geplaatst: 27 februari 2002 Auteur Delen Geplaatst: 27 februari 2002 Dat kan, gezien het feit dat het op de seconde nauwkeurig word bijgehouden. Het zou dan worden: SELECT * FROM tabel WHERE dat_tim = (SELECT MAX(dat_tim) FROM tabel) Greetz, Taz Quote Link naar reactie
anoniem Geplaatst: 27 februari 2002 Auteur Delen Geplaatst: 27 februari 2002 Goed, maar voor de zuiverheid. Stel dat ik het hoogste autonummer wil hebben? Dat verandert feitelijk niets? Dus nu niet een datum-veld, maar hoogste autonummeringveld. Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 Nee, dat verandert feitelijk niets. Het MAX principe werkt alleen op numerieke velden. (en op datum velden, aangezien die ook getallen zijn). Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 Nou alfanumerieke velden hebben natuurlijk ook een maximum, maar ik geloof. Bedankt voor je bijdrage, ik ga het uitproberen. Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 par ne problem... succes... Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 Tazzie, je verhaal klopt niet helemaal. Ik kan gewoon de velden die ik nodig heb in het SELECT-statement kwijt. vb: "SELECT TOP 1 ID, Wensberoep, DatumInschrijving FROM Inschrijvingen ORDER BY DatumInschrijving DESC" Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 Wiep, je leest niet helemaal goed :razz: Als je die SELECT Max(veld) AS Hoogste FROM Tabel gebruikt kun je geen andere velden erbij zetten. Je kan wel met een tweede recordset WHERE veld = " & rs("Hoogste") de rest van het/een record opvragen, maar misschien is de met Max(veld) gevonden waarde in meerdere records aanwezig (je hebt meer leden toegevoegd op die dag (en niet de tijd opgeslagen)... Quote Link naar reactie
anoniem Geplaatst: 28 februari 2002 Auteur Delen Geplaatst: 28 februari 2002 Tazzie, je verhaal klopt dus wel, ik was zelf niet volledig genoeg. Ik had er inderdaad bij moeten zetten dat de tijd er ook bij inzit. In ieder geval heeft Paulus me weer even terechtgewezen :wink: [ Dit Bericht is bewerkt door: Wiep Corbier op 2002-02-28 21:57 ] Quote Link naar reactie
anoniem Geplaatst: 1 maart 2002 Auteur Delen Geplaatst: 1 maart 2002 geef nie... Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen