GROUP BY y ORDER BY en MATCH AGAINST
Publicado por juanito_29899 (1 intervención) el 01/02/2014 13:49:42
Hola he preguntado en diferentes sitios y nadie sabe.
He buscado en FDW, y gracias a este post:
http://www.forosdelweb.com/f86/group-order-no-devuelven-que-quiero-814669/
Resolví mi problema de usar ORDER BY y GROUP BY, en un SELECT normal. Pero ahora en ese SELECT tengo MATCH AGAINST y no sé como usar un ORDER BY y un GROUP BY juntos en la consulta.
El código es este:
He probado a hacer lo mismo siguiendo la misma lógica que en los demás, pero siempre me da error:



El resultado debería ser el que tiene como id_unico el "9".
¿Alguien sabe hacerlo?
He buscado en FDW, y gracias a este post:
http://www.forosdelweb.com/f86/group-order-no-devuelven-que-quiero-814669/
Resolví mi problema de usar ORDER BY y GROUP BY, en un SELECT normal. Pero ahora en ese SELECT tengo MATCH AGAINST y no sé como usar un ORDER BY y un GROUP BY juntos en la consulta.
El código es este:
1
2
3
(SELECT *, MATCH(keywords) AGAINST('$busqueda') AS relevancia FROM libros WHERE MATCH(keywords) AGAINST('$busqueda')
AND tipo = 'nuevo'
GROUP BY id_libro ORDER BY relevancia DESC, posicion ASC, precio DESC LIMIT $numero_limite)
He probado a hacer lo mismo siguiendo la misma lógica que en los demás, pero siempre me da error:
1
2
3
4
5
6
7
8
9
10
11
(SELECT *, MATCH(keywords) AGAINST('$busqueda') AS relevancia FROM
(SELECT *, MATCH(keywords) AGAINST('$busqueda') AS relevancia FROM libros WHERE MATCH(keywords) AGAINST('$busqueda')
AND tipo = 'nuevo'
ORDER BY relevancia DESC, posicion ASC, precio DESC)
libros WHERE MATCH(keywords) AGAINST('$busqueda')
AND tipo = 'nuevo'
GROUP BY id_libro
LIMIT $numero_limite)



El resultado debería ser el que tiene como id_unico el "9".
¿Alguien sabe hacerlo?
Valora esta pregunta


0