paginación conjunto de claves con DONDE & La

Jiulin Teng:

Me encontré con una pregunta que no puedo encontrar una solución aún para paginación conjunto de claves:

Supongamos que tenemos la siguiente consulta:

SELECT a.id, a.number, AVG(b.rating) AS rating 
FROM a LEFT JOIN b ON xxxxxxx
GROUP BY a.id
ORDER BY rating DESC, a.number DESC
LIMIT xxxx

¿Cómo debemos hacer la paginación conjunto de claves al respecto?

Para a.number única, que puede tener WHERE a.number < ?;por calificar solamente, podemos hacer HAVING rating < ?;Si hay dos condiciones para que, podemos tener WHERE (x, y) < (?, ?).

Pero, ¿cómo hacer ambos con y dónde?

Editar: He implementado esto hoy y descubrí que es más lento que la paginación OFFSET, por lo que no se recomienda.

NBK:

El donde nunca se puede utilizar, ya que can'_t calificación de acceso.

Lo que puede hacer es

HAVING (x, y) <(1, 1)

SELECT a.id, a.number, AVG(b.rating) AS rating 
FROM a LEFT JOIN b ON a.id = b.id
GROUP BY a.id, a.number
HAVING (a.number, rating) < (1, 1)
ORDER BY rating DESC, a.number DESC
LIMIT xxxx

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=373439&siteId=1
Recomendado
Clasificación