I SQL Server for at få det samlede antal rækker påvirket af den sidste sætning, kan du bruge systemvariablen @@ROWCOUNT. På samme måde kan du finde det i MySQL ved hjælp af funktionen FOUND_ROWS ().
Lad os oprette dette datasæt
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();
Ovenstående vil returnere to resultatsæt. Det andet resultatsæt vil være 5 (antal rækker for SELECT-sætningen).
Du kan også bruge SQL_CALC_FOUND_ROWS sammen med FOUND_ROWS () for at få det samlede antal rækker i en tabel. Når SQL_CALC_FOUND_ROWS bruges, vil FOUND_ROWS() udelade LIMIT-sætningen.
SELECT * FROM TEST LIMIT 2;
Ovenstående returnerer kun 2 rækker.
SELECT SQL_CALC_FOUND_ROWS * FROM TEST LIMIT 2; SELECT FOUND_ROWS();
Når du udfører ovenstående, returnerer det to resultatsæt. Det første resultatsæt vil returnere to rækker. Det andet resultatsæt vil returnere 5 (samlet antal rækker uden LIMIT-sætning).
Jeg synes, det er en virkelig interessant funktion, og vi kan bruge den i daglig anvendelse. Efterlad en kommentar, hvis du bruger et program, hvor du har brug for at vide, hvor mange rækker der blev påvirket af den forrige kommentar.