¿Cómo puedo obtener valores de recuento de filas en MySQL como @@ROWCOUNT
en mssql?¿Mysql tiene un equivalente a @@ ROWCOUNT como en mssql?
32
A
Respuesta
50
Para consultas de selección se puede utilizar el FOUND_ROWS
constructo (documented here):
SELECT SQL_CALC_FOUND_ROWS something FROM your_table WHERE whatever;
SELECT FOUND_ROWS() ;
que devolverá el número de filas en el último SELECT
consulta (o si la primera consulta tiene una cláusula LIMIT
, que devuelve el número de filas habría habido sin el LIMIT
).
Para UPDATE
/DELETE
/INSERT
, es el ROW_COUNT constructo
INSERT INTO your_table VALUES (1,2,3);
SELECT ROW_COUNT();
que devolverá el número de filas afectadas.
2
La forma más sencilla sería utilizar una variable:
mysql> SELECT @rowcount:=COUNT(*) FROM my_table;
mysql> SELECT @rowcount;
o puede utilizar FOUND_ROWS()
constructo después de poner un SQL_CALC_FOUND_ROWS en una instrucción SELECT.
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM my_table;
mysql> SELECT FOUND_ROWS();
6
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
-> WHERE id > 100 LIMIT 10;
mysql> SELECT FOUND_ROWS();
Lea más sobre esta here
0
Hay otra manera:
CREATE TEMPORARY TABLE `results` AS (*** Your query without LIMIT ***);
Obtener el número de filas
SELECT COUNT(*) FROM `results`;
Consigue el subconjunto
SELECT * FROM `results` LIMIT 5,10;
La tabla temporal existe solo en la sesión actual. Todavía limpiaría después
DROP TEMPORARY TABLE `results`;
Cuestiones relacionadas
- 1. Equivalente a MSSQL IDENTITY Columna en MySQL
- 2. MySQL MSSQL equivalente de CONVERT()
- 3. MySQL INSERT con una salida como MSSQL
- 4. ¿Existe un equivalente PostgreSQL de SELECT @@ ROWCOUNT en T-SQL?
- 5. ¿Tiene Ruby/Rails un equivalente a ++?
- 6. Does powershell tiene un equivalente a popen?
- 7. ¿Tiene Python un equivalente a java.lang.Math.nextUp?
- 8. ¿Python tiene un equivalente a 'cambiar'?
- 9. ¿Mercurial tiene un equivalente a git clean?
- 10. generate_series() equivalente en MySQL
- 11. ¿Tiene Ruby un equivalente a TimeSpan en C#?
- 12. ¿Cómo transformar una consulta MSSQL CTE a MySQL?
- 13. Transacciones distribuidas entre MySQL y MSSQL
- 14. ¿Tiene mysql el equivalente de las "funciones analíticas" de Oracle?
- 15. ¿VBScript tiene un equivalente DateTime.TryParse?
- 16. MSSQL en python 2.7
- 17. ¿Tiene ActionScript un equivalente a un "volcado del núcleo"?
- 18. ¿elasticsearch tiene el equivalente de 'núcleos' como en solr?
- 19. Solución para la PDO de PHP5 rowCount MySQL issue
- 20. ¿Cuál es el equivalente de php time() en mssql?
- 21. Alcance de @@ rowcount?
- 22. ¿jQuery tiene un equivalente a Element.identify de Prototype?
- 23. DataGridView RowCount vs Rows.Count
- 24. ¿.NET tiene un equivalente a los archivos .properties de Java?
- 25. Zend_Db_Seleccione el orden al azar, compatible en mssql/mysql
- 26. CTE, ROW_NUMBER y ROWCOUNT
- 27. ¿Tiene Java un equivalente a la cláusula C# "using"
- 28. ¿F # tiene un equivalente a la toma de Haskell?
- 29. ¿Tiene Java un equivalente a Environment.GetCommandLineArgs() de C#?
- 30. ¿OS X tiene un equivalente a/dev/shm?
@@ ROWCOUNT ayuda a tener el valor después de la ejecución de la selección, que es lo que quiero; y luego haga más cálculos en un procedimiento almacenado tomando el número total de filas devueltas – abs
Lo siento, debo haber confundido eso. Editado mi respuesta. – AndiDog
> devuelve el número de filas que habría sin el LIMITE – mayu