Ecco un approccio per ottenere il set di risultati restituito da MySQL. (Ma potrebbe essere più semplice restituire tutte le righe e ottenere ogni terza riga all'interno dell'app). Ma può essere fatto in MySQL abbastanza facilmente. Tieni presente che la tua query originale è racchiusa tra parentesi (come vista in linea) alias come 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
Ciò restituirà ogni terza riga, a partire dalla prima riga. Per ottenere ogni terza riga a partire dalla 2a e 3a riga, sostituisci il valore letterale = 1
nella clausola HAVING con = 2
o = 3
(rispettivamente).