SQL - Sql contar registros de una misma columna

 
Vista:
sin imagen de perfil

Sql contar registros de una misma columna

Publicado por ricardo (7 intervenciones) el 11/03/2013 18:49:33
Hola amigos

Tengo el siguiente problema que me tiene de muerte tengo, una tabla donde existe una columna con distintos registros en este caso códigos
Es una columna llamada códigos y tiene varios códigos separados por espacio
Columna códigos-> “I10 X20 B12 E55” lo que necesito es separar esos valores y contar cuantos códigos existen, ya logre pasar el primer inconveniente que es separa los códigos en varios columnas temporales llamada código1, codigo2,códigon…. Dependiendo de la cantidad de códigos, esto lo hice con Split sql, ahora me queda contar todos los códigos Que sean iguales y el otro problema es que los códigos no están en orden están desordenados y además no son del mismo tamaño ejem->
Columna códigos-> “I10 X20 B12 E55”
Columna códigos-> “T65 E55 I10 Z32”
Columna códigos-> “Z32 B12”

Actualmente lo que la SQL me retorna es

Cod1 Cod2 Cod3 Cod4
I10 X20 B12 E55
T65 E55 I10 Z32
Z32 B12 null null

Lo que necesito es que la sql me devuelva el conteo de códigos iguales
I10=2
X20=1
B12=2 ..etc
Es complejo y ya no se cómo tomar este problema e regoogleado pero no encuentro una solución, la BD no la diseñe yo, ya existía, espero me ayuden saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias Islas Gonzalez
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Sql contar registros de una misma columna

Publicado por Isaias Islas Gonzalez (1919 intervenciones) el 11/03/2013 19:10:55
Crea una tabla temporal, con un solo campo de 4 digitos, das de alta estos codigos que ya lograste separar y luego los cuentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Sql contar registros de una misma columna

Publicado por ricardo (7 intervenciones) el 11/03/2013 19:20:57
Hola

disculpa mi ignoracia.. podrias especificar un poco mas.. gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Sql contar registros de una misma columna

Publicado por leonardo_josue (1173 intervenciones) el 11/03/2013 23:23:08
Hola ricardo:

En realidad puedes hacerlo de varias formas, una sería por ejemplo con UNION ALL, más o menos así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mysql> SELECT * FROM tabla;
+------+------+------+------+
| Cod1 | Cod2 | Cod3 | Cod4 |
+------+------+------+------+
| I10  | X20  | B12  | E55  |
| T65  | E55  | I10  | Z32  |
| Z32  | B12  | NULL | NULL |
+------+------+------+------+
3 rows in set (0.00 sec)
 
mysql> SELECT cod, COUNT(*) FROM
    -> ( SELECT cod1 cod FROM tabla
    ->   UNION ALL
    ->   SELECT cod2 cod FROM tabla
    ->   UNION ALL
    ->   SELECT cod3 cod FROM tabla
    ->   UNION ALL
    ->   SELECT cod4 cod FROM tabla) T
    -> GROUP BY cod;
+------+----------+
| cod  | COUNT(*) |
+------+----------+
| NULL |        2 |
| B12  |        2 |
| E55  |        2 |
| I10  |        2 |
| T65  |        1 |
| X20  |        1 |
| Z32  |        2 |
+------+----------+
7 rows in set (0.00 sec)


En lugar de poner

1
SELECT cod1 cod FROM tabla


Pondrías la consulta que utilizas para separar cada columna.

Haz la prueba y nos comentas
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar