it-swarm-eu.dev

Jak COUNT počet řádků s LIMIT?

Chci chytit X řádků, takže jsem nastavil LIMIT X; ale jak mohu současně spočítat i celkový počet řádků?

V současné době používám dva samostatné dotazy

SELECT COUNT(*) FROM col WHERE CLAUSE
SELECT * FROM col WHERE CLAUSE LIMIT X

Existuje způsob, jak to udělat v jednom dotazu?

EDIT: Výstupem by měly být buňky col a počet řádků. Ve skutečnosti by po výběru buněk col měl procházet tabulkou a počítat pouze.

Vím, že není možné sloučit tyto dva dotazy, jako první vrácený řádek 1, ale druhý řádek X. Jsem zvědavý, jestli v mysql existuje funkce, která vrací počet řádků v přítomnosti LIMIT.

8
Googlebot

Vypadá to, že chcete spustit LIMIT, ale stále víte, kolik řádků by bylo vráceno bez LIMIT. Podívejte se FOUND ROWS

5
Alain Collins

V dotazu SELECT použijte SQL_CALC_FOUND_ROWS A poté spusťte SELECT FOUND_ROWS():

SELECT SQL_CALC_FOUND_ROWS field_name,filed_name2 FROM col WHERE CLAUSE LIMIT X;
SELECT FOUND_ROWS() ;
3
Dipa

Vím, že je to starý, ale už to neplatí, s MySQL> = 8.0.17 cf MySQL Function Found_Rows () Takže stále musíme vydávat oba dotazy, tj. přidat bohužel s funkcí COUNT().

2
Fred