Recorrer un campo de una tabla y contar que dato se repite mas

Hola lo que necesito hacer es recorrer un campo de una tabla y contar el registro que mas se repite dentro del campo. Gracias espero puedas ayudarme

2 respuestas

Respuesta
1

Yo lo hice así agregue un campo mas que le llame veces n 2

Y ejecute mas o menos el siguiente código

Se le tabla

Go top

do while !eof()

xx=campobusqueda

selec campobusqueda from tabla where campobusqueda=xx into cursor consulta

repla veces with reccount('consulta')

Skip

Enddo

Hasta allí en el campo veces ta sabes cuantos registro hay de cada repetido creo que el proceso es mas fácil.

Comentame como te fue

Me aparece este error.. no se puede actualizar el objeto cursor en la linea "into cursor consulta".. (xx) <-- que significaría tengo que dejarlo así no mas o lo cambio por algo? disculpa las molestias

Bueno pásame todo el código que pusiste según el ejemplo que te pase

select auspicia
go top
do while !eof()
xx=codigo_prog
selec codigo_prog from auspicia where codigo_prog=xx into cursor consulta
replace veces with reccount('consulta')
? consulta
? veces
skip
enddo

Lo que pasa es que estas usando TABLEREVERT( ) para poder rehacer los cambios utiliza después o del selec TABLEUPDATE(.t.)Para que realicen los cambios busca en la ayuda del fox

En ese formulario no uso tablerevert() o por que lo tengo en los otros formulario es el problema?

Si es un comando de también es decir de seteo si lo dejas activo antes en otro form y entras a otro pues esta activo así como el set dele on o cualquier otro que se queda activado

entiendo lo que me quieres decir.. bueno tengo los tablerevert(), que puedo hacer para que funcione ese código pero sin sacar el buffer.. la verdad que soy nuevo en foxpro. muchas gracias por todo.

Antes de crear un cursor con ese nombre dale

Se le tabla

TABLEUPDATE(.t.)

Y luego crea el nuevo cursor

selec campobusqueda from tabla where campobusqueda=xx into cursor consulta

Respuesta
1

Haz un select:

SELECT COUNT(micampo) FROM mitabla GROUP BY micampo

gracias me sirve.. ahora necesito saber cual es el numero que mas se repite.. este me muestra la cantidad que se repite.. que esta muy bien que me sirve.. pero necesito lo otro también .. gracias por tu ayuda..

hola hice lo que me dijiste pero en la lista me sale desordenado probé con order by y top pero no me ordena como yo quiero.. ej quiero que el campo se ordene por el resultado mas alto, mi código es el siguiente..

select sum(monto)as monto,codigo_prog from auspicia group by codigo_prog

y me sale este resultado

monto | codigo_prog

8739.00 1

18532.00 2

249.00 3

1232.00 4

bueno lo que quiero es que me ordene por el mayor de los monto.. si me podrías ayudar te agradecería mucho.. gracias

order by monto desc

bueno muchas gracias.. ahora te hago otra consulta.. lo quiero mostrar con un reporte los resultados de la vista.. creo un reporte pero me muestra todos los datos de la tabla no me muestra los de la vista.. que debo estar haciendo mal.. lo hice con el creador de reportes y también lo hice solo..

select sum(monto),count(codigo_anunci) as cliente,codigo_anunci from auspicia group by

codigo_anunci order by cliente desc;

select auspicia
report form probandoestadistica2 preview noconsole

Quita de tu reporte alguna tabla que tengas en el entorno de datos, porque si tienes la tabla en el entorno de datos, toma los datos de la tabla y no del query.

Saludos, y por favor cierra y califica cada pregunta y haces una nueva cuando lo requieras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas