ciao a tutti!
so fare una query con limit. ma come faccio a farla invertita? cioé invece di far vedere solo i primi 10 risultati, vorrei vedere tutto TRANNE i primi 10 risultati.
grazie
ciao
Igor
ciao a tutti!
so fare una query con limit. ma come faccio a farla invertita? cioé invece di far vedere solo i primi 10 risultati, vorrei vedere tutto TRANNE i primi 10 risultati.
grazie
ciao
Igor
select * from tabella order by id limit 10,x
dove al posto di x metti un numero abbastanza grande che ti dia la certezza di includere tutti i record.
grazie mille..![]()
A dire il vero mi son sempre chiesto se sia preferibile la soluzione che ti ho proposto oppure quella che usa le query annidate per trovare i primi 10 valori e poi estrarre quelli con id maggiore del più grande di tali 10. Spero qualcuno mi tolga questo dubbio.![]()
mysql_query("delete from reports where foruser='".$username."' order by id desc limit 100,50000")or die(mysql_error());
non funziona mi sai indicare l errore perfavore?
grazie
che errore ti da sql?
EDIT: non mi ricordo bene la sintassi di SQL, però mi pare che il
order by id desc
non ci possa essere nel delete (oltre il fatto che mi domando, cosa te ne fai?))
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 50000' at line 1
Mumble,
hai cosi tanti valori? 100,50000 ??
o devi cancellarli da 100 all'infinito ? (finche non finisce i records nel db?)
ho una tabella con 48000 valori. ogni utente quando fa il login deve autoamticametne cancellare tutti i suoi valori tranne i 100 piu recenti. quelli piu recenti sonoq uelli con l id piu alto.
Il problema è dovuto al fatto che nella delete non puoi specificare due parametri nel limit ma solo uno, quello relativo al numero di record che vuoi cancellare.
edit. Ti serve quindi una query con la quale trovi l'id maggiore tra quelli che vuoi eliminare e poi esegui una query di delete eliminando i record con id inferiore.