![lloron](http://static.forosdelweb.com/fdwtheme/images/smilies/chillando.png)
| |||
Obtener de una BD MySQL los 10 valores que más se repiten Estoy tratando de hacer una aplicación que muestre los 10 registros que más se repitan en mi BD, es decir, algo asi como un Top 10, en este caso tengo una BD en la que almaceno logs, lo que quiero sacar de ella son las 10 direcciones IP que mas se repiten, pero no se como hacerlo con PHP, por favor ayuda... ![]() |
| ||||
Respuesta: Obtener de una BD MySQL los 10 valores que más se repiten Seguro es facil asi Código PHP: |
| |||
Respuesta: Obtener de una BD MySQL los 10 valores que más se repiten Ya lo probé y me ignora algunos valores, me muestra valores que tienen menos repeticiones que otros que no aparecen :s, tienes idea de por que? |
| ||||
Respuesta: Obtener de una BD MySQL los 10 valores que más se repiten select nombre,cantidad from productos order by cantidad desc limit 0,10; Un ejemplo sencillo de lo que quieres |
| |||
Respuesta: Obtener de una BD MySQL los 10 valores que más se repiten Ingrese a la BD unos datos de prueba, resalto lo de prueba por que puse direcciones invalidas. Cita: Y me muestar que estos son los 10 que más se repiten segun la consulta: 100.000.000.000 100.000.000.000 100.000.000.000 100.000.000.000 100.000.000.000 100.000.000.000 100.000.000.000 100.000.000.000 100.000.000.10 100.000.000.11 100.000.000.111 100.000.000.111 100.000.000.111 100.000.000.12 100.000.000.13 100.000.000.222 100.000.000.222 100.000.000.333 100.000.000.333 100.000.000.333 100.000.000.333 100.000.000.444 100.000.000.444 100.000.000.444 100.000.000.444 100.000.000.444 100.000.000.555 100.000.000.555 100.000.000.555 100.000.000.666 100.000.000.666 100.000.000.666 100.000.000.777 100.000.000.777 100.000.000.888 100.000.000.888 100.000.000.888 100.000.000.999 100.000.000.999 100.000.000.999 100.000.000.999 100.000.000.999 SELECT COUNT( * ) AS `Filas` , `valor` FROM `logsf`GROUP BY `valor` ORDER BY `valor` DESC LIMIT 0 , 10; Cita: Filas | valor -------+---------------- 5 | 100.000.000.999 3 | 100.000.000.888 2 | 100.000.000.777 3 | 100.000.000.666 3 | 100.000.000.555 5 | 100.000.000.444 4 | 100.000.000.333 2 | 100.000.000.222 1 | 100.000.000.13 1 | 100.000.000.12 |
| ||||
Respuesta: Obtener de una BD MySQL los 10 valores que más se repiten Dame la información de los campos que estas usando y dame un ejemplo de los valores que viste que no mostró si estas usando phpMyAdmin dale un export y envia la información de los campos para ver como estan creados y algun valor que hayas visto. Se supone que lo unico que estas haciendo es comparaciones con el GROUP BY y eso lo que hace es comparar y todo lo que sea igual lo agrupa, se supone que no te de error Me dejas saber |
| ||||
Respuesta: Obtener de una BD MySQL los 10 valores que más se repiten Ok vi el error no debes poner ORDER BY valor, sino ORDER BY Filas DESC Disculpa que no te habia escrito bien el codigo anteriormente |
| ||||
Respuesta: Obtener de una BD MySQL los 10 valores que más se repiten O algo como esto mysql> select producto,count(producto) as cantidad from detallefactura group by (producto) order by(cantidad) desc limit 0,10; +----------+----------+ | producto | cantidad | +----------+----------+ | AC010 | 5 | | AD015 | 3 | | AD016 | 3 | | OT023 | 2 | | AC002 | 2 | | AC008 | 2 | | AC009 | 2 | | AC011 | 2 | | AD011 | 2 | | AD014 | 1 | +----------+----------+ 10 rows in set (0.00 sec) mysql> |