253 votes

Sélectionnez la dernière ligne dans MySQL

Comment je peux `` la dernière ligne dans une table MySQL ?

Je suis `` ing données et j’ai besoin récupérer une valeur de colonne de la rangée précédente.

(J’utilise PHP en passant.)

Il y a un `` dans le tableau.

515voto

Pekka 웃 Points 249607
<blockquote> <p>Oui, il y a un auto_increment là-dedans</p> <p>Si vous voulez la dernière de <em>toutes les lignes</em> de la table, c’est enfin le moment où <code></code> est la bonne réponse !  :), sorte de.</p><pre><code></code></pre></blockquote>

38voto

Daniel Vassallo Points 142049

Gardez à l'esprit que les tables de bases de données relationnelles sont que des séries de lignes. Et des ensembles en mathématiques sont des collections non triées. Il n'y a pas de première ou de la dernière ligne; pas de ligne précédente ou sur la ligne suivante.

Vous aurez à trier votre ensemble de non-ordonnée des lignes sur le terrain, d'abord, et puis vous êtes libre de l'itération dans le jeu de résultats dans l'ordre que vous avez défini.

Puisque vous avez un auto-incrémentation de champ, je suppose que vous voulez que ce soit le champ de classement. Dans ce cas, vous pouvez effectuer les opérations suivantes:

SELECT    *
FROM      your_table
ORDER BY  your_auto_increment_field DESC
LIMIT     1;

Voir comment nous sommes d'abord le tri de l'ensemble des non-ordonnée des lignes en fonction de l' your_auto_increment_field (ou ce que vous avez appelé) dans l'ordre décroissant. Ensuite, nous limitons le resultset juste la première ligne avec LIMIT 1.

28voto

spacepille Points 241

sur les tables avec nombreuses lignes sont deux requêtes probablement plus vite...

8voto

macio.Jun Points 1857

Faire il suffit d’utiliser :``

http://PHP.net/manual/en/PDO.lastinsertid.php

6voto

EboMike Points 39257

Si vous voulez le plus récemment ajouté un, ajouter un horodatage et sélectionnez triés dans l’ordre inverse par horodatage plus élevé, limite 1. Si vous voulez aller par ID, trier par ID. Si vous souhaitez utiliser celui que vous venez d’ajouter, utilisez `` .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X