Ú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
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- Temu
- Samsung Galaxy Felhasználók OFF topicja
- Lenovo Thinkbook, Yoga széria
- Ismét analóg billentyűzettel jelentkezett a Cherry Xtrfy
- A fociról könnyedén, egy baráti társaságban
- OTP Bank topic
- Kínai és egyéb olcsó órák topikja
- Fejhallgatós találkozó
- GL.iNet Flint 2 (GL-MT6000) router
- További aktív témák...
- HP 17-CP2003NH - 17,3" Full HD IPS - Ryzen 5 7520U - 8GB - 512GB - Win11 - MAGYAR - 2+ év garancia
- 27% - Konfiguráció G5905 / RX580 / H510 / 16GB 2666Mhz / 1TB SSD / 500W
- GAMER PC! i7-14700F / RX 9070 XT / 32GB 6000MHz / 1TB NVMe / 850w Gold! BeszámítOK
- Azonnali készpénzes nVidia RTX 5000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- 27% - Asus RoG Strix XG27ACDNG QD-OLED Gaming Monitor! 2560x1440 / 360Hz / 0.03ms / G-Sync/ FreeSync
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
