Hirdetés
Ú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
-
Sk8erPeter
nagyúr
válasz
Speeedfire
#1167
üzenetére
Hát én komplexebb feladatokra tárolt eljárást használok, mióta belekóstoltam.
De a te feladatodat igazából nem értem, hogy miért akarod tömbökbe szedni a userek id-ját... Adott userekhez tartozó bejegyzéseknél X időközönként csak Y mennyiséget akarsz törölni, tehát azt akarod, hogy valamennyi az adott júzerhez mindenképp megmaradjon?
Szóval nem csak törölni kell a táblából azt az Y sort, azt' kész?
Fejtsd ki, MOST!
===
(#1166) lakisoft :
"Tárolt eljárást is sokszor használok Dynamic SQL-lel együtt. Ott már nem látod hogy csúnya
."
Miért, a tárolt eljárás önmagában még nem ocsmány, de el lehet rondítani.
Új hozzászólás Aktív témák
- Formula-1
- Milyen légkondit a lakásba?
- Egyéni arckép OFF
- Samsung Galaxy S25 - végre van kicsi!
- Cyberpunk 2077
- Egymillió műholdból építene a SpaceX adatközpontot
- MIUI / HyperOS topik
- Milyen NAS-t vegyek?
- Kormányok / autós szimulátorok topikja
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Clevo 1060 6GB Mxm 3.1 laptop videó kártya ingyen házhoz szálitással
- TELJES KÖRŰ IT BESZERZÉS
- Új Creative Sound Blaster JAM V2
- BESZÁMÍTÁS! ASRock X870 R9 7950X3D 32GB DDR5 1TB SSD RTX 4090 24GB Be quiet Pure Base 501 LX white
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest

."

