CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[SQL] get l'enreg qui a le + grand 'id'

Blawk
Blawk
Niveau 10
13 juin 2003 à 18:13:29

Avec mySQL, comment on fait pour obtenir l´enregistrement d´un table qui a le plus grand ´id´ ?
´id´ est un champs ´INT auto_increment not null´ et est l´index.

J´ai penser à:
´SELECT * FROM ma_table ORDER BY id DESC´
Puis on prend le premier champ, mais si la table est TRES importante, c´est un peu inadapté, non ?

captain_torche
captain_torche
Niveau 10
13 juin 2003 à 18:24:28

J´aurais plutôt pensé à un SELECT * FROM ma_table ORDER BY id DESC LIMIT 1

C´est à dire que ta requête ne ressortira qu´un seul élément, et non toute une floppée dont tu n´afficherais que la première valeur.

Blawk
Blawk
Niveau 10
13 juin 2003 à 18:30:57

Pas con du tout...

Merci. : )

captain_torche
captain_torche
Niveau 10
13 juin 2003 à 19:42:37

Mais de rien : )

buz-l-orage
buz-l-orage
Niveau 10
13 juin 2003 à 19:59:38

ou un
select *from table where id=(select max(id) from table)

c bon ca aussi non?

Blawk
Blawk
Niveau 10
13 juin 2003 à 20:17:16

On va dire non parce que mySQL passera en revue toute la table 2 fois, c´est donc moins rapide que ce qu´a dit Cap.

buz-l-orage
buz-l-orage
Niveau 10
13 juin 2003 à 20:26:23

arff, c´est bien ce qu´il me semblait, pas très optimisée vu quelle doit chercher d´abord le max(id) et ensuite tester les id=max(id)..
^_^

jarose
jarose
Niveau 10
13 juin 2003 à 21:49:50

Bah non, il passe pas en revu deux fois la table, étant donné que c´est une sous-requête. Ne sous estimes pas les fonctionnalitées de sql ; )

Si plusieurs int sont égaux, la solution avec limit ne retournera qu´un résultat, avec une sous requete non.

mais de toute façon, je crois que les sous requêtes sont gérées par ANSI SQL, mais pas mySQL, c´est écrit dans la doc.

donc, la technique de cap est plus approprié pour des id auto incrémentés ; )

Blawk
Blawk
Niveau 10
13 juin 2003 à 21:55:55

Ok.

Mais j egarde la solution de Cap, le champs en question est auto incrementé.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment