Just nu i M3-nätverket
Jump to content

hämta de 10 senaste datumen


Nina_E

Recommended Posts

Hur bär man sig åt för att från en databas hämta alla poster som har det 10 senaste lagrade datumen? Har en kolumn i tabellen som innehåller datum. Kommandot TOP tar ju bara det antal man skriver. Jag vet ju inte innan hur många poster det rör sig om.

Link to comment
Share on other sites

Jag hoppas att jag har förstått problemet, om det är som jag har förstått är det ju lite klurigt :)

 

här kommer en lösning som först tar reda på vilka 10 datum som är dom senaste, grupperat i dagar, sen hämtar samtliga userids och "datum" som har dessa datum.

 

nu har jag antagit att det dagar det rör sig om.

 

SELECT [userid], [lastlogin] FROM [memberdata] WHERE datediff(dd,[lastlogin], getdate()) 
IN (SELECT TOP 10 datediff(dd,[lastlogin], getdate()) as [lastlogin] FROM [memberdata] 
WHERE [lastlogin] IS NOT NULL GROUP BY datediff(dd,[lastlogin], getdate())) ORDER BY [lastlogin] ASC

 

 

Link to comment
Share on other sites

Om du använder dig av Access så har den en bugg (enl mig iallafall) som gör att om du väljer.

 

SELECT TOP 10 * FROM [tabell] ORDER BY Datum DESC

 

Så får du ut alla poster som har de 10 senaste datumen och inte de 10 senaste posterna.

 

Eftersom access tycker att alla poster som har samma datum skall räknas som 1 post... så har du access så fungerar detta, har du inte det så kolla på föregående alternativ..

 

- M

-----------------------------------------------------

ju mer jag lär mig ju mer inser jag så lite jag kan

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...