SQL ordenar por: pregunta

  • Travis Coats
  • Graduate
  • Graduate
  • No Avatar
  • Registrado: May 27, 2007
  • Mensajes: 107
  • Status: Offline

Nota Julio 5th, 2009, 11:25 pm

Tengo un sistema de clasificación establecido para el grupo por número de pistas y luego para ellos por el avg_rating. El problema es que tengo que ir un poco más y contar el número de veces que el tema fue evaluado y luego ordenar la salida por ese número. Heres mi instrucción SQL que se ocupa ahora de una tabla que tiene dos columnas: la pista y número de

Código: [ Select ]
SELECT track, ROUND( avg( rating ) , 1 ) as avg_rating
FROM `trackRatings`
GROUP BY track
ORDER BY avg_rating DESC
  1. SELECT track, ROUND( avg( rating ) , 1 ) as avg_rating
  2. FROM `trackRatings`
  3. GROUP BY track
  4. ORDER BY avg_rating DESC


He leído algunos tutoriales que parecen hablar con el comando contar, pero no sé nada sobre su aplicación, sin atornillar hasta lo que tengo. :)

Supongo que necesito añadir un poco de algo aquí:

Código: [ Select ]
ORDER BY avg_rating DESC AND (something)
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Julio 5th, 2009, 11:25 pm

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13455
  • Loc: Florida
  • Status: Offline

Nota Julio 6th, 2009, 1:11 am

Bueno Count es cuál es llamado función de agregado al igual que AVG es. Mayoría de las veces cuando ya está utilizando una función de agregado en una consulta, otro será fácil de agregar.

En tu caso te parece que, además, serán a lo largo de las líneas de

Código: [ Select ]
, COUNT(rating) AS total_ratings


Que a su vez dará la consulta

Código: [ Select ]
SELECT
    track,
    ROUND(AVG(rating), 1) AS avg_rating,
    COUNT(rating) AS total_ratings
FROM
    trackRatings
GROUP BY
    track
ORDER BY
    avg_rating DESC,
    total_ratings DESC
LIMIT
    10
  1. SELECT
  2.     track,
  3.     ROUND(AVG(rating), 1) AS avg_rating,
  4.     COUNT(rating) AS total_ratings
  5. FROM
  6.     trackRatings
  7. GROUP BY
  8.     track
  9. ORDER BY
  10.     avg_rating DESC,
  11.     total_ratings DESC
  12. LIMIT
  13.     10


Y ya que aparece encima de los resultados de búsqueda para hacer frente a las clases de múltiples columnas de todos modos, Heres una post acerca de la clasificación por varias columnas en MySQL que hice hace un rato. :)
Strong with this one, the sudo is.
  • Travis Coats
  • Graduate
  • Graduate
  • No Avatar
  • Registrado: May 27, 2007
  • Mensajes: 107
  • Status: Offline

Nota Julio 6th, 2009, 8:42 am

Parece estar funcionando correctamente. Al principio me preguntaba si estaba, pero me senté y que el manual de matemáticas y funciona como un encanto. ¡Muchas gracias!
  • sandy_j_sam
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Jul 26, 2010
  • Mensajes: 9
  • Status: Offline

Nota Julio 28th, 2010, 11:32 pm

hola, estoy de acuerdo con que joebert, pero quiero empezar desde los más básicos

(1) forma SELECT * nombre de la tabla; => usamos esa SQL para recuperar datos de la base de datos.
(2) AVG => Función fila Múltiple
(3) COUNT => Consulte No. de registro en la base de datos
GROUP BY, que se utiliza para agrupar datos como

table_record
designación: el salario
Proveedores 10.000
Proveedores 10.000
Proveedores 10.000
Propietario 70.000

designación SELECT AVG (salario) de table_record GROUP BY (designación);

quiere decir que el cuadro se convierte en
table_record
designación: el salario
Proveedores 10.000
Propietario 70.000


(4) ORDER BY, ya sea en ASE u orden de DESC, el registro de mesa.
(5) ROUND => Función de una hilera de

HI, que acaba de leerlos por compensación básica Concepto.

Publicar Información

  • Total de mensajes en este tema: 4 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 216 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC