Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/01/2012, 09:28
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Contar registros y comparar

Hola Felipe_01:

Estás complicando demasiado una consulta bastante sencilla... Creo que no tienes muchas nociones del concepto de agrupación, por lo que te recomiendo que le des un vistazo al uso del GROUP BY en las sentencias SELECT. Checa este script:

Código MySQL:
Ver original
  1. mysql> CREATE TABLE ingreso (id INT, id_lab VARCHAR(6));
  2. Query OK, 0 rows affected (0.08 sec)
  3.  
  4. mysql> INSERT INTO ingreso VALUES (1, 'ABCD-1'),
  5.     -> (2, 'ABCD-2'),(3, 'ABCD-2'),(4, 'ABCD-2'),
  6.     -> (5, 'ABCD-4'),(6, 'ABCD-4'),(7, 'ABCD-3'),
  7.     -> (8, 'ABCD-4'),(9, 'ABCD-4'),(10, 'ABCD-1');
  8. Query OK, 10 rows affected (0.09 sec)
  9. Records: 10  Duplicates: 0  Warnings: 0
  10.  
  11. mysql> SELECT * FROM ingreso;
  12. +------+--------+
  13. | id   | id_lab |
  14. +------+--------+
  15. |    1 | ABCD-1 |
  16. |    2 | ABCD-2 |
  17. |    3 | ABCD-2 |
  18. |    4 | ABCD-2 |
  19. |    5 | ABCD-4 |
  20. |    6 | ABCD-4 |
  21. |    7 | ABCD-3 |
  22. |    8 | ABCD-4 |
  23. |    9 | ABCD-4 |
  24. |   10 | ABCD-1 |
  25. +------+--------+
  26. 10 rows in set (0.00 sec)
  27.  
  28. mysql> SELECT id_lab, COUNT(*) total
  29.     -> FROM ingreso GROUP BY id_lab;
  30. +--------+-------+
  31. | id_lab | total |
  32. +--------+-------+
  33. | ABCD-1 |     2 |
  34. | ABCD-2 |     3 |
  35. | ABCD-3 |     1 |
  36. | ABCD-4 |     4 |
  37. +--------+-------+
  38. 4 rows in set (0.00 sec)
  39.  
  40. mysql> SELECT id_lab, COUNT(*) total
  41.     -> FROM ingreso GROUP BY id_lab
  42.     -> ORDER BY total DESC LIMIT 1;
  43. +--------+-------+
  44. | id_lab | total |
  45. +--------+-------+
  46. | ABCD-4 |     4 |
  47. +--------+-------+
  48. 1 row in set (0.00 sec)

Si observas la segunda consulta, al utilizar el operador GROUP BY obtienes el total de registros asociados a cada id_lab, en tu caso como quieres obtener el que tenga más, simplemente tienes que ordenar los registros por el total (COUNT) y obtener el primer registro (LIMIT). Creo que esto es lo que necesitas. Si tienes dudas o problemas lo comentas en el foro.

Saludos
Leo.