problema con una consulta
Hola a todos-as, quisiera que alguien me dijese por que me falla una consulta de la siguiente manera
select count(*),campox
from tabla
where ......
el error que me salta es el suiguiente
"ha intentado ejecutar una consulta que no imcluye la expresion especificada 'campox' como parte de una funcion de agregado"
muchas gracias por su atencion
select count(*),campox
from tabla
where ......
el error que me salta es el suiguiente
"ha intentado ejecutar una consulta que no imcluye la expresion especificada 'campox' como parte de una funcion de agregado"
muchas gracias por su atencion
lo que pasa que estas usando una sentencia de agregación, y para el uso de esto es que se debe de usar la sentencia de agrupamiento.
la estructura es la siguiente:
select [campos]
from
[tabla]
where
[condicion]
group by
[campo de agregacion]
order by
[orden]
debes de poner los campos que se presentan sin ninguna operacion en la consulta, por ejemplo campox
esto cada vez que uses count,max,min,cube,etc...
entonces seria:
select count(*),campox
from tabla
where ......
group by
campox
order by camposx asc 'esto puedes obviarlo
la estructura es la siguiente:
select [campos]
from
[tabla]
where
[condicion]
group by
[campo de agregacion]
order by
[orden]
debes de poner los campos que se presentan sin ninguna operacion en la consulta, por ejemplo campox
esto cada vez que uses count,max,min,cube,etc...
entonces seria:
select count(*),campox
from tabla
where ......
group by
campox
order by camposx asc 'esto puedes obviarlo
Si lo que intentas es contar el número de registros que cumplen una condición, sólo necesitarías
SELECT count(*) as contador from . . . where condicion
y si lo que quieres es contar el número de registros con campox diferentes (que no se repita) entonces
SELECT count(*) as contador, campox from . . . where condicion . . . group by campox
lo de usar la forma ".. as contador " es poque me gusta darle nombre a los campos que devuelve un recordset.
Saludos
SELECT count(*) as contador from . . . where condicion
y si lo que quieres es contar el número de registros con campox diferentes (que no se repita) entonces
SELECT count(*) as contador, campox from . . . where condicion . . . group by campox
lo de usar la forma ".. as contador " es poque me gusta darle nombre a los campos que devuelve un recordset.
Saludos
