Contar los registros visibles cuando se usa GROUP BY
Hola comunidad
Tengo una tabla de la cual necesito obtener cierta informacion. Dicha informacion la obtengo usando un GROUP BY qP:-) pero el problema es que necesito solo saber el numero de registros y al usar COUNT(*) se me cuentan todos los registros. para que se vea mejor he decidido postear una tabla mas sencilla donde a simple vista se vea el resultado. En esta tabla hay varios registros por turno, por fecha. Lo que quiero es saber cuantos turnos se trabajaron por fecha pero sin los repetidos o sea para una fecha X solo pueden trabajarse 3 turnos el 1 el 2 y el 3, aunque hallan varios 1 o 2 o 3. Al usar en la tabla de abajo esta sentencia Obtengo 6 registros con los Ids 1, 4, 7, 10, 11, 12 que son los que debo obtener, pero esta sentencia sql forma parte de otra mucho mas compleja por lo que esta solo debe devolverme el total de registros, sin embargo al usar un COUNT(*) me cuenta todos los registros :( , los que se ven y los que no :eek: . Me imagino esto sea por el funcionamiento del GROUP BY v\||/ . Alguna idea de como obtener el numero de registros ??? Gracias por la ayuda !!!
|
He probado esto en Oracle y funciona, no sé en MySQL.
El count(distinct turno) deberia devolverte el total de turnos diferentes que tienen ordenes en esa fecha.
|
Si en MySQL funcina tambien pero la sentencia debe devolverme un solo resultado o sea aun así necesito la suma del
en estos momentos devuelve tres registros con estos valores 3, 2, 1 y lo que necesito es que me devuelva la suma de esos valores o sea 6 en un solo registro. |
Sólo debes agrupar por fecha, no por turno.
Lo que te está dando es el total de turnos distintos por fecha. Como tienes 3 fechas diferentes te salen esos 3 valores. Vamos, que sólo te está devolviendo un valor por fecha. |
Exacto... sin embargo lo que necesito es el total. O sea la suma delos valores que me esta mostrando por fecha. Normalmente usaria el Count(*) pero no funciona :( Necesitaria algo como esto ...
Que me devuelva solo el resultado o sea 6. Pero no funciona :´(
Esta sentencia forma parte de una sentencia mucho mas grande por lo que no puede devolverme mas de un registro de resultado. O Sea aunque me devuelva una por fecha voy a necesitar sumas eso que me esta devolviendo por fecha !!! |
MUCHAS GRACIAS POR LA AYUDA hehehehehe que con tanto explicar y explicar no había agradecido apropiadamente !!!
|
La franja horaria es GMT +2. Ahora son las 21:54:36. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi