tomando la idea de Zerkms:
Select * FROM (
SELECT * FROM `articles`
WHERE date >= UNIX_TIMESTAMP(DATE(NOW() - INTERVAL 30 DAY))
ORDER BY `views` DESC
LIMIT 20
) as reverse_article
ORDER BY views ASC
te permitirá ordenar dos veces
-
Se elegirá el más alto (selección interna)
-
El más bajo será eliminado primero.
SIN EMBARGO
también puede invertir la ordenación a través de PHP obteniendo primero su fetchALL y ejecutando el conteo hacia atrás desde count() (que es su matriz de tamaño máximo) hasta 0 (que es su vista de matriz más alta)
toma tu elección