SELECT BY FREQUENCY

06/09/2005 - 18:34 por colt clint | Informe spam
Holla!


Mi mensaje es simple y corta.

Yo tengo una base de datos así:

columna1 columna2
1 34
1 12
1 8
1 1
2 19
2 17
2 11
3 12
3 5


etc.


Yo preciso de su ayuda para construir un SELECT por 2 de las freqcuencias
mayores (columna2) con base en la columna1

Gracias por su ayuda

Colt



-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa

Preguntas similare

Leer las respuestas

#1 Esparta Palma
06/09/2005 - 20:46 | Informe spam
Adivinando

SELECT Columna1, MAX(Columna) As MaxFrecuencia ;
FROM TuTabla ;
GROUP BY Columna1 ;
ORDER BY Columna1 ;
INTO CURSOR cFrecuencias

Espero te sirva.

¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º

Espartaco Palma Martínez
SysOp http://www.PortalFox.com
México D.F.
MoBlogs!
http://weblogs.golemproject.com/esparta/
http://www.espartha.com/blog/

colt clint wrote:
Holla!


Mi mensaje es simple y corta.

Yo tengo una base de datos así:

columna1 columna2
1 34
1 12
1 8
1 1
2 19
2 17
2 11
3 12
3 5


etc.


Yo preciso de su ayuda para construir un SELECT por 2 de las freqcuencias
mayores (columna2) con base en la columna1

Gracias por su ayuda

Colt




PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#2 colt clint
06/09/2005 - 21:37 | Informe spam
Espartaco,

Muchas gracias. El script es lo que me gustaría ver.

Así, me parece, no sería dificil para Ud. ayudarme un poquito más. Extraer
la maior frecuencia, es útil, pero tiene limitaciones. En el ejemplo abajo
puedes ver que hay una 3a columna.

Esta 3a columna es lo que indica cuántas líneas de la columna 2 deveb ser
selecionadas. Yo creo que es muy dificil. En otros forums no tuvo
respuesta.

Según este ejemplo, serían seleccionado todos mayores (más altos) items
de la columa3 = 2 teniendo como base la columna 1. Más o menos así:

Ejemplo:
SELECT TOP 2 * FROM tableyy WHERE columna3 = 2 and columna1 = 1 GROUP BY
columns3 ORDER BYcolumna3 DESC

SELECT TOP 3 * FROM tableyy WHERE columna3 = 3 and columna1 =2 GROUP BY
columns3 ORDER BYcolumna3 DESC

SELECT TOP 1 * FROM tableyy WHERE columna3  and columna1 =4 GROUP BY
columns3 ORDER BYcolumna3 DESC

columna1 columna2 column3
1 34 2
1 12 2
1 8 2
1 1 2
2 19 3
2 17 3
2 11 3
3 12 3
3 5 3
4 18 1
4 5 1


Es posible hacer algo más resumido?

Gracias más una vez

Saludos

Colt


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#3 colt clint
06/09/2005 - 21:39 | Informe spam
Estimado Espartaco,

Muchas gracias. El script es lo que me gustaría ver.

Así, me parece, no sería dificil para Ud. ayudarme un poquito más. Extraer
la maior frecuencia, es útil, pero tiene limitaciones. En el ejemplo abajo
puedes ver que hay una 3a columna.

Esta 3a columna es lo que indica cuántas líneas de la columna 2 deveb ser
selecionadas. Yo creo que es muy dificil. En otros forums no tuvo
respuesta.

Según este ejemplo, serían seleccionado todos mayores (más altos) items
de la columa3 = 2 teniendo como base la columna 1. Más o menos así:

Ejemplo:
SELECT TOP 2 * FROM tableyy WHERE columna3 = 2 and columna1 = 1 GROUP BY
columns3 ORDER BYcolumna3 DESC

SELECT TOP 3 * FROM tableyy WHERE columna3 = 3 and columna1 =2 GROUP BY
columns3 ORDER BYcolumna3 DESC

SELECT TOP 3 * FROM tableyy WHERE columna3 = 3 and columna1 =3 GROUP BY
columns3 ORDER BYcolumna3 DESC

SELECT TOP 1 * FROM tableyy WHERE columna3  and columna1 =4 GROUP BY
columns3 ORDER BYcolumna3 DESC

columna1 columna2 column3
1 34 2
1 12 2
1 8 2
1 1 2
2 19 3
2 17 3
2 11 3
3 12 3
3 5 3
3 4 3
4 18 1
4 5 1


Es posible hacer algo más resumido?

Gracias más una vez

Saludos

Colt


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#4 colt clint
06/09/2005 - 21:40 | Informe spam
Espartaco,

Muchas gracias. El script es lo que me gustaría ver.

Así, me parece, no sería dificil para Ud. ayudarme un poquito más. Extraer
la maior frecuencia, es útil, pero tiene limitaciones. En el ejemplo abajo
puedes ver que hay una 3a columna.

Esta 3a columna es lo que indica cuántas líneas de la columna 2 deveb ser
selecionadas. Yo creo que es muy dificil. En otros forums no tuvo
respuesta.

Según este ejemplo, serían seleccionado todos mayores (más altos) items
de la columa3 = 2 teniendo como base la columna 1. Más o menos así:

Ejemplo:
SELECT TOP 2 * FROM tableyy WHERE columna3 = 2 and columna1 = 1 GROUP BY
columns3 ORDER BYcolumna3 DESC

SELECT TOP 3 * FROM tableyy WHERE columna3 = 3 and columna1 =2 GROUP BY
columns3 ORDER BYcolumna3 DESC

SELECT TOP 3 * FROM tableyy WHERE columna3 = 3 and columna1 =3 GROUP BY
columns3 ORDER BYcolumna3 DESC

SELECT TOP 1 * FROM tableyy WHERE columna3  and columna1 =4 GROUP BY
columns3 ORDER BYcolumna3 DESC

columna1 columna2 column3
1 34 2
1 12 2
1 8 2
1 1 2
2 19 3
2 17 3
2 11 3
3 12 3
3 5 3
3 4 3
4 18 1
4 5 1


Es posible hacer algo más resumido?

Gracias más una vez

Saludos

Colt


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#5 colt clint
06/09/2005 - 23:17 | Informe spam
Estimado Espartaco,


Sin problemas.

Datos de entrada:

columna1 columna2 column3
1 34 2
1 12 2
1 8 2
1 1 2
2 19 3
2 17 3
2 11 3
2 9 3
3 22 3
3 15 3
3 13 3
3 8 3
4 18 1
4 5 1

Datos de salida:

columna1 columna2 columna3

1 34 2
1 12 2
2 19 3
2 17 3
2 11 3
3 22 3
3 15 3
3 13 3
4 18 1


1. La colunna3 y la columna1 tienen una estrecha (directa) relacion.
2. Asi, deben ser selecionados tantos elementos de la columna2 (siempre
los mayores, claro) de acuerdo acuerdo con el valor de la columna3.

Vale?

Saludos

Colt


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida