Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/03/2012, 09:25
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: como seria esta consulta

Hola yeyowave:

Hay varias formas de ordenar los datos de la manera que quieres, una sería utilizando un JOIN, más o menos así:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM menu;
  2. +---------+----------------+
  3. | id_menu | familia        |
  4. +---------+----------------+
  5. |      15 | familia menu a |
  6. |      15 | familia menu f |
  7. |      10 | familia menu d |
  8. |      15 | familia menu c |
  9. |      15 | familia menu g |
  10. |       7 | familia menu d |
  11. |      15 | familia menu h |
  12. |       7 | familia menu a |
  13. |      15 | familia menu b |
  14. |       7 | familia menu b |
  15. |      15 | familia menu d |
  16. |       7 | familia menu c |
  17. |      15 | familia menu e |
  18. +---------+----------------+
  19. 13 rows in set (0.00 sec)
  20.  
  21. mysql> SELECT M1.* FROM menu M1 INNER JOIN
  22.     -> (SELECT COUNT(id_menu) total, id_menu FROM menu GROUP BY id_menu) M2
  23.     -> ON M1.id_menu = M2.id_menu
  24.     -> ORDER BY m2.total DESC, m1.familia;
  25. +---------+----------------+
  26. | id_menu | familia        |
  27. +---------+----------------+
  28. |      15 | familia menu a |
  29. |      15 | familia menu b |
  30. |      15 | familia menu c |
  31. |      15 | familia menu d |
  32. |      15 | familia menu e |
  33. |      15 | familia menu f |
  34. |      15 | familia menu g |
  35. |      15 | familia menu h |
  36. |       7 | familia menu a |
  37. |       7 | familia menu b |
  38. |       7 | familia menu c |
  39. |       7 | familia menu d |
  40. |      10 | familia menu d |
  41. +---------+----------------+
  42. 13 rows in set (0.00 sec)

Saludos
Leo.