Hat MySQL "SELECT LIMIT 1" mit mehreren Datensätzen wählen Sie den ersten Eintrag von oben?
Habe ich gesucht und gesucht und kann nicht finden, eine Antwort auf diese Frage, bin ich wohl bitten, es in die falsche Richtung.
Bin ich Abfragen einer Mitarbeiter-Datenbank.
Ich brauche, um die details basierend auf einer position, id, allerdings kann es mehrere Datensätze für diese position-id, wie diese organisation hat festangestellte und befristete Mitarbeiter, die gegen die gleiche position.
So, in Reihenfolge zu Holen Sie sich die AKTUELLEN Bewohner des positions-id, ich muss meine Abfrage WÄHLEN Sie den ERSTEN Datensatz, das entspricht der position von string, von OBEN nach UNTEN.
wird diese wählen Sie den ersten Datensatz aus der Spitze?
SELECT * WHERE `position_id`="00000000" LIMIT 1;
Vielen Dank im Voraus.
- Es wählt den ersten Datensatz. Wenn Sie noch nicht angegeben, eine Bestellung in der Abfrage ... ::shrug::
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benötigen Sie eine
ORDER BY
- Klausel zu definieren, die Reihenfolge zwischen den einzelnen Datensätzen Ihrer Tabelle. Wenn Sie nicht verwendenORDER BY
können Sie davon ausgehen, keine Feste Reihenfolge zwischen den Datensätzen, und man konnte sich einen neuen Auftrag jedes mal, wenn Sie die query ausgeführt.Aus der Anleitung:
Also mit
LIMIT 1
Sie die erste Zeile aus dem ResultSet. Was das Ergebnis ist, hängt von der engine verwendet und die Indizes, die Sie haben. Wenn Sie möchten, die erste Zeile Hinzugefügt haben, erstellen Sie eine weitere Spalte definieren.Es wird nur eine nach dem Zufallsprinzip*. Es gibt keine Möglichkeit zu sagen, welche es sein wird, es sei denn, Sie fügen einen
ORDER BY
- Klausel.* Nicht wirklich zufällig, natürlich. Es hängt davon ab, wie die Datensätze gespeichert werden, und wiederholte Abfragen wird wohl wieder das gleiche Ergebnis jedes mal, zumindest solange Sie nicht ändern Sie die Tabelle oder deren Inhalt. Ich eigentlich meine, Sie können nicht sicher sein.