Avatar billede puppetmaster Nybegynder
03. juli 2002 - 11:24 Der er 3 kommentarer og
1 løsning

Slet alle på nær de 20 nyeste

Tabellen data hentes fra ser ud som følger:

Id
Dato
Artikler_Id
user_id

Er der en måde at slette alle andre poster, for den enkelte bruger (user_id), end de 20 nyeste, som er nemmere end denne:

Hent de 20 nyeste forekomster, gå til den sidste, aflæs Id-feltet (som er et autonummerfelt) og kør en delete-SQL som fjerner poster med et Id der er mindre end den 20. ældste post (for den givne bruger).
Avatar billede puppetmaster Nybegynder
03. juli 2002 - 11:27 #1
En måde jeg kunne forestille mig det gjort, er ved at checke om der er over 20 poster (for den givne bruger) i tabellen, INDEN indsættelse af den nye post.
Slet den ældste og indsæt den nye.........på den måde vil der aldrig være mere end 20 poster for den givne bruger....
Avatar billede tmceu Praktikant
03. juli 2002 - 11:34 #2
Det kommer lidt an på hvilken database du anvender. Denne vil eks. virke på SQL Server og Access

DELETE FROM Tabel WHERE [Id] NOT IN(SELECT TOP 20 [Id] FROM Tabel ORDER BY Dato DESC)
Avatar billede puppetmaster Nybegynder
04. juli 2002 - 14:38 #3
Jamen, det er jo lige hvad jeg har brug for!
Takker!
Avatar billede tmceu Praktikant
04. juli 2002 - 17:57 #4
Det var så lidt :-)
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
Kurser inden for grundlæggende programmering

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