wenn ich LIMIT auf einer MySQL-Abfrage verwenden, sollte die Ergebnismenge an die Grenze gleich sein?

StackOverflow https://stackoverflow.com/questions/490651

  •  20-08-2019
  •  | 
  •  

Frage

zum Beispiel wird select * from table limit 0,5
höchstens 5 Zeilen zurück in oder muss es genau das finden, 5, und wenn die row_count doesnt gleich 5, es gibt eine leere Ergebnismenge?


was ist, wenn die Abfrage ist select * from table limit 5?

War es hilfreich?

Lösung

Abfrage SELECT * FROM table LIMIT 0,5 wird 5 Datensätze zurück aus dem ersten Datensatz zu starten.

Abfrage SELECT * FROM table LIMIT 5 wird auch das gleiche Ergebnis wie oben Abfrage geben.

Wenn in dieser Tabelle gibt es weniger als 5 Aufzeichnungen dann wird es nicht scheitern, aber zurückgeben, was Aufzeichnungen geben.

Abfrage SELECT * FROM table LIMIT 6,5 kehrt Datensatz 7,8,9,10,11 als der Index von 0 beginnt.

Andere Tipps

http://dev.mysql.com/doc/refman/ 5.1 / de / select.html

"Die LIMIT-Klausel kann die Anzahl der Zeilen, die von der SELECT-Anweisung zurückgegeben beschränken verwendet werden. LIMIT nimmt ein oder zwei numerische Argumente, die ganzzahlige Konstanten sowohl nicht-negativ ist (außer bei der Verwendung von Prepared Statements) sein muß. Mit zwei Argumenten, gibt das erste Argument der Offset der ersten Zeile zurückzubringen, und die zweite gibt die maximale Anzahl der Zeilen zurückzukehren. "

Also, Ihre Frage direkt zu beantworten, es würde zurückkehren höchstens 5 Zeilen.

Die Grenze ist, na ja, eine Grenze, so wird es nicht mehr zurückgeben, als dass viele Zeilen. Es kann weniger zurück.

Bei der Abfrage "select * from Tabellengrenze 0,5" 0 nicht die Mindestsätze festlegen zurückzukehren. Es gibt das Offset. Also, wenn Sie 0 sagen, wenn die Abfrage „select * from table“ gibt 10 Datensätze, „Limit 0,5“ wird die erste 5. Rückkehr Wenn Sie „5,5 begrenzen“ es letzten 5 Einträge angezeigt werden können.

Wenn Sie nur 2 Datensätze haben, wird es zwei Datensätze zurück. Es wird nicht einen Fehler zurück, wenn Sie keine Ergebnisse haben. LIMIT ist die Höchstgrenze. Minimum kann alles, sogar 0 Datensätze sein.

"select * from table Limit 5" ist die gleiche wie "select * from Tabellengrenze 0,5"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top