In SQL Server können Sie die Systemvariable @@ROWCOUNT verwenden, um die Gesamtzahl der von der letzten Anweisung betroffenen Zeilen zu erhalten. In ähnlicher Weise können Sie es in MySQL mit der Funktion FOUND_ROWS () finden.
Lassen Sie uns diesen Datensatz erstellen
CREATE TABLE TEST(ID INT, NAME VARCHAR(30)); INSERT INTO TEST(ID,NAME) SELECT 1,'NAME1' UNION ALL SELECT 2,'NAME2' UNION ALL SELECT 3,'NAME3' UNION ALL SELECT 4,'NAME4' UNION ALL SELECT 5,'NAME5'; SELECT * FROM TEST; SELECT FOUND_ROWS();
Oben werden zwei Resultsets zurückgegeben. Die zweite Ergebnismenge ist 5 (Anzahl der Zeilen für die SELECT-Anweisung).
Sie können auch SQL_CALC_FOUND_ROWS zusammen mit FOUND_ROWS () verwenden, um die Gesamtzahl der Zeilen in einer Tabelle zu erhalten. Wenn SQL_CALC_FOUND_ROWS verwendet wird, lässt FOUND_ROWS() die LIMIT-Klausel weg.
SELECT * FROM TEST LIMIT 2;
Das Obige gibt nur 2 Zeilen zurück.
SELECT SQL_CALC_FOUND_ROWS * FROM TEST LIMIT 2; SELECT FOUND_ROWS();
Wenn Sie das obige ausführen, werden zwei Resultsets zurückgegeben. Die erste Ergebnismenge gibt zwei Zeilen zurück. Die zweite Ergebnismenge gibt 5 zurück (Gesamtzahl der Zeilen ohne LIMIT-Klausel).
Ich denke, das ist eine wirklich interessante Funktion und wir können sie in der täglichen Anwendung verwenden. Hinterlassen Sie einen Kommentar, wenn Sie eine Anwendung verwenden, bei der Sie wissen müssen, wie viele Zeilen vom vorherigen Kommentar betroffen waren.