SELECT
smart_allusers_karen.lastlogin,
smart_allusers_karen.supemail,
smart_allusers_karen.regionname
FROM
smart_allusers_karen
WHERE lastlogin < MAX(smart_allusers_karen.lastlogin) - INTERVAL 30 DAY AND
lastlogin > MAX(smart_allusers_karen.lastlogin) - INTERVAL 60 DAY
ORDER BY lastlogin
Obtendo erro ao tentar obter a data MAX. Também não tenho certeza se esta é a maneira mais rápida de fazer isso.
Talvez você possa dividir a consulta para capturar os DateTimes em variáveis separadas
Certifique-se de que lastlogin está indexado. Se não estiver, execute isto primeiro:
De uma chance !!!
Não é permitido usar uma função agregada dessa forma, ou seja, na
WHERE
cláusula. Uma maneira de fazer isso éMAX()
calcular em uma subconsulta:ou com uma tabela derivada: