Question simple sur DELETE, LIMIT et ORDER BY - SQL/NoSQL - Programmation
Marsh Posté le 31-07-2008 à 09:08:30
ben normalement ca devrais marche mais dans ta table tu as pas une colonne pour la cle primaire , comme ca tu fait le Desc sur ta cle
et normalement ca devrait marcher
Marsh Posté le 31-07-2008 à 09:32:15
A l'instinct je dirais que c'est du MySQL et donc que tu peux utiliser ce genre de syntaxe:
Code :
|
Marsh Posté le 31-07-2008 à 11:20:32
ReplyMarsh Posté le 31-07-2008 à 17:36:10
mrbebert a écrit : "ORDER BY nom DESC", ca va pas plutôt supprimer les 50 plus récents ? |
il faut pas trier par le nom
disons les enregistrement suivant et qu'on supprime les 2 plus anciens
Code :
|
sinon on trie par DESC nom , on va avoir
Code :
|
et on supprimera alors robert et fred, alors que robert vient d'arriver
par contre si tu as une cle , pour tes utilisateurs, tu fait (ou meme la date
Code :
|
la ca te supprimera les bons
Marsh Posté le 31-07-2008 à 17:37:36
ça va surtout supprimer les 50 du bas de l'alphabet, sans information de chronologie.
mais sinon, euh...
delete from table order by tmp limit 50
non ?
Marsh Posté le 31-07-2008 à 19:10:51
OK je ne savais pas qu'ORDER BY marchait avec DELETE.
Je vais tester !
Marsh Posté le 31-07-2008 à 19:18:53
avec mysql, oui.
en sql, non.
(oracle par exemple, produit carrément une erreur)
Marsh Posté le 30-07-2008 à 22:14:15
Bonjour
J'ai un petit problème dans l'administration de la base de SUMo (http://www.kcsoftwares.com/?sumo) et pour faire simple je vais résumer comme suivant :
J'ai une table à 2 colonnes : Nom (Char[100]) et Tps (date)
Cette table possède 1000 enregistrements.
Je cherche à faire une requête qui supprime les 50 enregistrement les plus anciens.
Peux on faire mieux que DELETE FROM Table WHERE nom IN (SELECT nom FROM Table ORDER BY Tps DESC LIMIT 50) ? (et encore j'ai pas testé....)
Merci d'avance !