SQL - Contar ocurrencias en SQL

   
Vista:

Contar ocurrencias en SQL

Publicado por Franco (18 intervenciones) el 08/06/2015 20:57:58
Hola, que tal?

Les cuento que estoy tratando de hacer un query que me busque ocurrencias, algo parecido a esto:

http://geeks.ms/blogs/ghernandez/archive/2009/02/12/encontrando-combinaciones-num-233-ricas-con-sql-server.aspx

Estoy tratando de hacer una sentencia SQL que me busque en toda mi base de datos de unos 10 mil registros, cuantas ocurrencias de 2 o mas numeros se repiten en toda la base. Lo que quiero es buscar de forma automatica, y me muestre la cantidad de veces que se repiten TODAS las ocurrencias.

La tabla que tengo es asi, tiene cargados numeros de 00 a 99:

N1 N2 N3 N4 N5 N6
01 02 03 04 05 06
01 03 05 10 11 22
03 05 10 11 22 33
05 10 11 22 33 44
05 06 11 22 33 44

El query que estoy tratando de hacer, me tendria que dar un resultado similar a este:

Repeticiones Numeros
2_________01 03
3_________03 05
2_________11 22
3_________11 22 33
3_________05 10
2_________11 22 33 44

Ojala me puedan ayudar, pido disculpas si no se explicarme bien, y perdon si pido algo muy complicado, soy nuevo en sql.

Muchas gracias
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

Contar ocurrencias en SQL

Publicado por Isaias (691 intervenciones) el 08/06/2015 21:17:18
¿Por qué vuelves a abrir el mismo tema que se trato ya hace algunos días en este foro?

Lo que pides es casi imposible de lograr

No dices que base de datos estas ocupando

Oracle
MySQL
SQL Server
Informix
Tera Data


¿Cual?
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

Contar ocurrencias en SQL

Publicado por FRANCO (18 intervenciones) el 08/06/2015 21:38:41
Hola
En serio es casi imposible?? No sabia que era tan dificil...

Uso SQL 2008 express o MYSQL, no me importa tanto en que base de datos lo pueda hacer, me interesa poder hacerlo.

Bueno, igual muchas 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
Imágen de perfil de Isaias

Contar ocurrencias en SQL

Publicado por Isaias (691 intervenciones) el 08/06/2015 22:50:29
No es lo mismo usar un MYSQL que un SQL SERVER y mucho menos en diferentes ediciones o versiones

Por ejemplo, la edición EXPRESS de SQL Server es la que es "free" (o libre de pago), pero nada que ver con la ENTERPRISE.

Cada versión-edición tienes sus ventajas

Espero haberme explicado.
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

Contar ocurrencias en SQL

Publicado por Rafael (83 intervenciones) el 09/06/2015 09:36:19
Hola:

El grado de complejidad de tu consulta es algo especial ...

Veamos para obtener las combinaciones de Dos Numeros
1
2
3
4
5
6
7
8
9
10
SELECT COUNT(*)
     , N1
     , N2
     , NULL
     , NULL
     , NULL
     , NULL
FROM NUMEROS   //<- Vaya que no se si asi se llama tu tabla
GROUP  BY N1
     , N2

Luego para 3 Numeros
1
2
3
4
5
6
7
8
9
10
11
SELECT COUNT(*)
     , N1
     , N2
     , N3
     , NULL
     , NULL
     , NULL
FROM NUMEROS   //<- Vaya que no se si asi se llama tu tabla
GROUP  BY N1
     , N2
     , N3


Y asi hasta 6
Para tenerlo todo junto pues con UNION...
1
2
3
4
5
6
7
8
9
SELECT COUNT(*) // La consulta con 2 Numeros
...
FROM NUMEROS   //<- Vaya que no se si asi se llama tu tabla
GROUP  BY ...
UNION
SELECT COUNT(*) / La consulta con 3 Numeros
...
FROM NUMEROS   //<- Vaya que no se si asi se llama tu tabla
GROUP  BY ...

OJO
Puede fallar si y solo si los numeros estuviesen desordenados...
Ejemplo
N1 N2 N3 N4 N5 N6
01 02 03 04 05 06
03 01 02 05 04 06

Espero explicarme ya me contaras-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Contar ocurrencias en SQL

Publicado por FRANCO (18 intervenciones) el 09/06/2015 21:16:06
HOLA RAFAEL!
Muchisimas gracias, el query que me pasaste me sirvio mucho, es justo lo que necestiaba.
Asi me quedo el query:

SELECT COUNT(*) as Cantidad, N1, N2, N3, N4, N5, N6
FROM [q6].[dbo].[q6]
GROUP BY N1, N2, N3, N4, N5, N6
order by Cantidad desc

MUCHAS 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