que tiene una sentencia SQL que funcionasub consulta SQL con ayuda RECUENTO
SELECT * FROM eventsTable WHERE columnName='Business'
quiero añadir esto como una sub consulta ...
COUNT(Business) AS row_count
¿Cómo se hace esto?
que tiene una sentencia SQL que funcionasub consulta SQL con ayuda RECUENTO
SELECT * FROM eventsTable WHERE columnName='Business'
quiero añadir esto como una sub consulta ...
COUNT(Business) AS row_count
¿Cómo se hace esto?
Esta es probablemente la forma más fácil, no es el más bonito sin embargo:
SELECT *,
(SELECT Count(*) FROM eventsTable WHERE columnName = 'Business') as RowCount
FROM eventsTable
WHERE columnName = 'Business'
Esto también funciona sin tener que utilice un group by
SELECT *, COUNT(*) OVER() as RowCount
FROM eventsTables
WHERE columnName = 'Business'
¿Desea obtener el número de filas?
SELECT columnName, COUNT(*) AS row_count
FROM eventsTable
WHERE columnName = 'Business'
GROUP BY columnName
no puede tener 'WHERE' cláusula GROUP BY. Use 'Having' – Jim
@Jim - Puede usar tener una cláusula' where' con 'group by'. Debería usar 'having' si quisiera filtrar el resultado de un agregado al usar' group by'. – codingbadger
Suponiendo que hay una columna de negocios llamado:
SELECT Business, COUNT(*) FROM eventsTable GROUP BY Business
SELECT e.*,
cnt.colCount
FROM eventsTable e
INNER JOIN (
select columnName,count(columnName) as colCount
from eventsTable e2
group by columnName
) as cnt on cnt.columnName = e.columnName
WHERE e.columnName='Business'
- Se ha añadido el espacio
+1 La cláusula Over es * elegante * – gbn
Tenga en cuenta que 'OVER' no es compatible con el estándar SQL, y no estará disponible en todos los RDBMS (por ejemplo, [MySQL no lo admite] (http: //stackoverflow.com/questions/6292679/mysql-using-correct-syntax-for-the-over-clause)). – McSonk