[ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 26.02.08
Prihlásený: 24.05.13
Príspevky: 372
Témy: 66 | 66
Bydlisko: Nové Zámky

zdravim potrebujem spravit script ktory mi vytiahne poslednych 20 zaznamov od daneho usera... ide mi oto ze mam na stranke ip log a chcem tam nechat iba poslednych 20 zaznamov a ostatne zmazat...chcem ci sa to da spravit nejak jednym dotazom myslim to vytiahnutie...stlpce id_zaznam, id_user, ip

ak sa to dotazom jednym neda tak nejake dobre riesenie...co som premyslal tak sa mi zda dost blbo riesene


Offline

Skúsený užívateľ
Skúsený užívateľ
ponechanie 20 zaznamov kazdemu userovi

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30 | 30
Bydlisko: Bratislava

Obavam sa ze jednym dotaozm to nepojde (aspon mne nenapada ziaden sposob).

Predpokladam ze uzivatelov nebudu tisice, takze ja by som si
1. vybral uzivatelov distinctom a v cykle pre kazdeho
2. zistil id 20-teho zaznamu a
3. vymazal vsetky ktore su pred tym id (co by nemal byt problem pri predpoklade rastuceho id)

Kód:
1. SELECT DISTINCT id_user AS nas_user FROM table

2. SELECT MIN(id_zaznam) AS nas_zaznam FROM (SELECT id_zaznam FROM table WHERE id_user = $nas_user ORDER BY id_zaznam DESC LIMIT 20) AS t

3. DELETE FROM table WHERE id_user = $nas_user AND id_zaznam < $nas_zaznam


_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Skúsený užívateľ
Skúsený užívateľ
ponechanie 20 zaznamov kazdemu userovi

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 03.02.2010 19:28 | ponechanie 20 zaznamov kazdemu userovi

Dá sa to zjednodušiť pomocou LIMIT:
Kód:
1. SELECT DISTINCT id_user AS nas_user FROM table

// a potom toto v cykle
2. DELETE FROM table WHERE id_user = $nas_user ORDER BY id_zaznam DESC LIMIT 20, 18446744073709551615;
Keby niekoho zaujímalo, prečo také vtipné číslo je v tom limite - tak to udáva MySQL manuál: http://dev.mysql.com/doc/refman/5.1/en/select.html


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
 [ Príspevkov: 3 ] 


ponechanie 20 zaznamov kazdemu userovi



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

Ponechanie CPU

v AMD - Advanced Micro Devices

5

350

21.04.2010 16:35

eXistenZ

V tomto fóre nie sú ďalšie neprečítané témy.

WarMouse: osmnáct tlačítek musí stačit každému

v Novinky

15

767

02.07.2010 12:43

KatjushaMan

V tomto fóre nie sú ďalšie neprečítané témy.

Európa chce dostať internet ku každému - cez staré TV kanály

v Novinky

16

1118

21.09.2010 21:18

MTK

V tomto fóre nie sú ďalšie neprečítané témy.

Array - porovnanie zaznamov

v PHP, ASP

2

1090

10.01.2007 12:41

Papulka

V tomto fóre nie sú ďalšie neprečítané témy.

Počítanie záznamov poľa

v Delphi, Visual Basic

10

1135

22.12.2007 21:34

martin90

V tomto fóre nie sú ďalšie neprečítané témy.

Update viacerých záznamov naraz.

v PHP, ASP

24

1412

05.04.2012 13:23

xxx9955

V tomto fóre nie sú ďalšie neprečítané témy.

Vyber nevyhovujucich zaznamov (JOIN)

v Databázy

1

585

26.01.2010 22:02

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Vymena zaznamov v databaze

v PHP, ASP

6

662

05.11.2009 23:02

danielop

V tomto fóre nie sú ďalšie neprečítané témy.

Mysql zistenie počtu rôznych záznamov

v Databázy

4

830

28.12.2008 16:40

Unlink

V tomto fóre nie sú ďalšie neprečítané témy.

totálne vymazanie záznamov z registrov

v Operačné systémy Microsoft

4

5981

23.12.2007 8:18

konig

V tomto fóre nie sú ďalšie neprečítané témy.

chybné zoradenie záznamov v databáze

v Databázy

24

2183

18.04.2008 22:05

peter555

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal - triedenie podla jednotlivych poloziek záznamov

v Assembler, C, C++, Pascal, Java

8

855

08.02.2009 19:25

tominoZA

V tomto fóre nie sú ďalšie neprečítané témy.

Vyber poslednych zaznamov z 2 tabuliek

v Databázy

2

351

13.04.2013 17:02

zaciatocnik

V tomto fóre nie sú ďalšie neprečítané témy.

Presmerovanie DNS zaznamov na iny hosting

v Webhosting a servery

3

1425

13.11.2009 11:58

pedro91

V tomto fóre nie sú ďalšie neprečítané témy.

SQL join 1 riadok (viac zaznamov)

v Databázy

4

826

14.06.2009 23:20

marek26

V tomto fóre nie sú ďalšie neprečítané témy.

vymazanie zaznamov starsich ako 30 dni

v Databázy

10

665

15.01.2015 11:02

JanoF



© 2005 - 2025 PCforum, edited by JanoF