MySQL - Ordenar por importancia las 10 ultimas noticias...

 
Vista:

Ordenar por importancia las 10 ultimas noticias...

Publicado por Paco (1 intervención) el 26/03/2007 03:26:48
Saludos,
Tengo una duda y es que necesito hacer algo en MySql y no se si se puede hacer o no... Resumiendo, una tabla de noticias con un campo "id_noticia" autoincremental, y un campo "importancia" en la que se valora las noticias del 1 al 10.
Yo mostraba las 10 ultimas noticias en el index con la siguiente consulta:
"SELECT * FROM noticias ORDER BY id_noticia DESC LIMIT 10" de esta forma la ultima noticia metida se mostraba la primera... pues bien ahora necesito que esas 10 ultimas noticias introducidas se ordenen por importancia y no se si puede hacerse... porque, que yo sepa no se puede hacer una consulta que saque las 10 noticias cuyo campo "id_noticia" sean los mayores y esas 10 noticias ordenarlas por "importancia"...
He probado algo así pero da error...
"SELECT * FROM noticias WHERE id_noticia IN (SELECT id_noticia FROM noticias ORDER BY id_noticia DESC LIMIT 10) ORDER BY importancia desc"

Gracias de antemano.
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ordenar por importancia las 10 ultimas noticias

Publicado por kain (124 intervenciones) el 26/03/2007 22:16:35
creo que el arbol no te deja ver el bosque.

mira haber si te sirve asi.

SELECT * FROM noticias ORDER BY id_noticia DESC,importancia ASC LIMIT 10

espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ordenar por importancia las 10 ultimas noticias

Publicado por Paco (3 intervenciones) el 28/03/2007 16:41:47
Gracias Kain, pero no es tan sencillo, ojalá...
El campo "id_noticia" es clave y por tanto sus valores son unicos y por tanto al poner como primer criterio de ordenacion dicho campo pues invalida todos los demas criterios...
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ordenar por importancia las 10 ultimas noticias

Publicado por kain (124 intervenciones) el 29/03/2007 19:27:51
si lo que quieres es poner las ultimas 10 noticias introducidas y que estas salgan ordenadas por el valor que tiene el campo importancia, no se que tiene que ver de id_noticia sea la clave, todo lo contrario, mejor,

entiendo que id_noticia es la clave y ademas autoincremental, por los tanto lo 10 ultimos valores son los mas grandes, (ORDER BY id_noticia DESC) osea de mayor a menor, y ademas otro orden por IMPORTANCIA pero ASC oasea de menor a mayor,

claro que esto sacaria todos los registro , y para ello colocamos UN limit 10 al final,

y si la logica no falla esto deberia funcionar como te he dicho en en post anterior.

el limit 10 lo que hara sera sacar los 10 primeros registro despues de ordernarlos.

pruebalo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ordenar por importancia las 10 ultimas noticias

Publicado por Paco (3 intervenciones) el 02/04/2007 18:07:49
Joder Kain,
Has leido algún manual de SQL? No te enfades porque no intento ofenderte, pero si tu tienes 10 registros en una tabla cualquiera y tienen un identificador numerico autoincremental a no ser que se borren registros, los id de los 10 registros van a ser estos (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
y si tu haces una consulta como esta --> SELECT id FROM TABLA ORDER BY id DESC LIMIT 5;
te va a dar el siguiente resultado --> id --> 10, 9, 8, 7, 6.
Y por muchos criterios de busqueda pongas detras de "id" (como si pones 17 criterios mas) siempre te va a dar el mismo resultado... y eso es algo basico que si no lo sabes, me sorprende que estes utilizando alguna base de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ordenar por importancia las 10 ultimas noticias

Publicado por kain (124 intervenciones) el 03/04/2007 10:01:00
bien, bien, bien, creo que entiendo lo que necesitas.

prueba de esta manera.

select * from TABLA FORCE INDEX(PRIMARY) ORDER by importancia desc limit 10
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ordenar por importancia las 10 ultimas noticias

Publicado por Paco (3 intervenciones) el 03/04/2007 17:17:30
Gracias Kain,
lo he probado pero da error... no se como hacer esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar