Aqui está uma abordagem para obter o conjunto de resultados retornado pelo MySQL. (Mas pode ser mais fácil retornar todas as linhas e obter cada terceira linha no aplicativo). Mas isso pode ser feito no MySQL com bastante facilidade. Observe que sua consulta original está entre parênteses (como uma visualização em linha) com o alias
r
. SELECT r.*
FROM (
SELECT *
FROM mbr_qa_questions
ORDER BY q_votes DESC
) r
CROSS
JOIN ( SELECT @i := 0 ) s
HAVING ( @i := @i + 1) MOD 3 = 1
Isso retornará a cada terceira linha, começando com a primeira linha. Para obter cada terceira linha começando com a 2ª e 3ª linha, substitua o literal
= 1
na cláusula HAVING com = 2
ou = 3
(respectivamente).