Verwandte Verwendung und Funktionen der Funktion FOUND_ROWS() in MariaDB 10
P粉670838735
P粉670838735 2023-08-28 17:39:42
0
1
465
<p>Ich habe eine Funktion, die die Anzahl der Zeilen benötigt, die über eine Select-Anweisung zurückgegeben werden. Nach einigem Suchen habe ich die Funktion FOUND_ROWS() gefunden. Aber ich glaube nicht, dass es funktioniert: </p> <pre class="brush:php;toolbar:false;">SELECT * FROM tipfirme LIMIT 20; SELECT FOUND_ROWS();</pre> <p>Weil es immer 1 als gefundenen Wert zurückgibt. </p> <p>Wenn ich es jedoch in einer einzelnen Zeile ausführe, funktioniert es. </p> <pre class="brush:php;toolbar:false;">SELECT FOUND_ROWS() FROM (SELECT * FROM tipfirme LIMIT 20) as T</pre> <p>Mache ich etwas falsch oder stimmt etwas mit dieser Funktion nicht? </p>
P粉670838735
P粉670838735

Antworte allen(1)
P粉883278265

FOUND_ROWS返回前一个请求(整个select语句)返回的行数。听起来你只想要:

select count(1) from (select * From tipfirme limit 20) as T

select found_rows();单独使用不总是返回1;我怀疑你没有测试你想要测试的内容。如果它紧跟在select * from tipfirme limit 20;之后,它确实会返回select返回的行数(在limit之后,或者在之前如果你在前一个select中指定了sql_calc_found_rows)。

SELECT FOUND_ROWS() FROM (SELECT * FROM tipfirme LIMIT 20) as T并不是你想要的结果;它将返回与子查询返回的行数相同的行数,并且每行都会有先前执行的select返回的行数,与子查询的行数无关。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage