Fueron enviados 6 comentarios a la faq

6 comentarios revisados:
| Por: Jorge Garcia Madrid | | 16/2/07
|
También si quieres ahorrar tiempo en el procesador y solo necesitas consultar el total de registros en la tabla en lugar de usar "Select count(*) from myTable" utiliza "Select count(1) from myTable", es mas óptimo...
easy.. es super facil obtener el total en un consulta
veras..
Ejemplo
SELECT Count(ID) AS resultado FROM tabla
te contara todos los registros de la tabla y el total los mostrara en resultado, y tambien el el count puedes agregar algo para hacer distinciones DISTINCT o otras cosas.. eso..
mi aporte del dia.. xao
| Por: Gabriel Roman (GAR-K) | | 16/2/07
|
Por ejemplo, en el caso que quisieras contar todos los libros que tengas disponibles del autor BORGES por ejemplo.....sería algo así.
SELECT COUNT(*), Autor
FROM libros
WHERE Autor='Borges'
esto te mostraria algo asi...
Expr Autor
---- -----
10 Borges
En el caso de que quisieras saber los libros de borges que solo superen el precio de $40 sería algo asi.
SELECT COUNT(*), Autor
FROM libros
WHERE Autor='Borges' AND precio > 40
y la salida seria algo asi
Expr Autor
---- -----
4 Borges
Espero que esto te ayude
Bueno puedes utilizar el count(*) para contar el numero de elementos de una tabla ejm SELECT COUNT(*) FROM TBAUTORS. para contar solo los elmentos de un determinado Autor SELECT COUNT(*) FROM TBAUTORS WHERE ID_AUTOR = 1. pero si lo que necesitas es que te totalizar por cada no de los autores dependiendo no se de la ciudad de residencia debes hacer SELECT CITY,COUNT(*) FROM TBAUTORS GROUP BY CITY.
parecerá trivial pero creo oportuno aclarar que cuanto se utilizan funciones agregadas de dominio como count o sum, sólo deben estar referidas a un sólo atributo de la tabla, caso contrario no funcionan. Ej.
SELECT Count(movimientos.importe_movimiento) AS Cuenta
FROM Movimientos
WHERE (Movimientos.Importe_Movimiento)>100);
da como resultado la cantidad de registros cuyo importe del atributo Importe_Movimiento es mayor a 100.
Si se involucran otros atributos en la consulta como por ejemplo
SELECT Count(movimientos.importe_movimiento) AS Cuenta, Fecha
FROM Movimientos
WHERE (Movimientos.Importe_Movimiento)>100);
La sintaxis de la consulta no es correcta por lo tanto no se ejecuta.
continuando... en el caso de involucrar más de un atributo en la consulta, debe agregarse la cláusula group, como por ejemplo:
select count(*) as Productos, ReorderLevel
from dbo.Products
where dbo.Products.ProductName = 'Chai'
group by dbo.products.ReorderLevel;
espero que sea de utilidad