Új hozzászólás Aktív témák
-
bpx
őstag
válasz
Speeedfire
#1167
üzenetére
PHP-t erre felejtsd el, adatok ilyen szintű manipulációját az adatbázis végezze, ne a hozzá kapcsoló alkalmazás
ez 1, azaz egy darab színtiszta SQL utasítás:
DELETE FROM tabla WHERE id IN(
SELECT id FROM(
SELECT id, RANK() OVER (PARTITION BY uid ORDER BY time DESC) r FROM tabla)
WHERE r > 500);magyarázat:
a legbelső select partíciókat képez a táblából az uid alapján, és a partíciókat idő szerint (time) csökkenő sorrendbe rendezi, és minden egyes id-hoz rendel egy sorszámot (rank), hogy adott partícióban a rendezés szempontja szerint hanyadik helyen áll
az eggyel kintebb levő select lekérdezi azokat az id-kat, ahol ez a "rang" 500-nál nagyobb, tehát kívül esik a kívánt limiten
a delete meg törli az ilyen id-val rendelkező sorokat
szerk: adatbáziskezelőt mondjuk nem írtál, ez Oracle-ben működik, én a tábládból úgy tippelem hogy MS SQL (auto increment PK, meg int típus), de ezek a funckiók mintha ott is meglennének
Új hozzászólás Aktív témák
- A fociról könnyedén, egy baráti társaságban
- Steam Deck
- Debrecen és környéke adok-veszek-beszélgetek
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Sweet.tv - internetes TV
- Megkérdeztük az AI-t: milyen érzés, amikor megreguláznak?
- Hogy is néznek ki a gépeink?
- Anglia - élmények, tapasztalatok
- Viccrovat
- AMD Navi Radeon™ RX 9xxx sorozat
- További aktív témák...
- 152 - Lenovo LOQ (15IRH8) - Intel Core i5-12450H, RTX 4060 (ELKELT)
- DDR3 so-dimm 8GB notebook RAM modulok - több db
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Eredeti Lenovo 90W szögleges laptop táp + kerek átalakító egyben eladó
- GYÖNYÖRŰ iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4050
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

