Используйте order by
и получите самую последнюю строку.В стандартном SQL это будет:
SELECT p.*
FROM posts p
WHERE p.status = 4
ORDER BY date DESC
FETCH FIRST 1 ROW ONLY;
FETCH FIRST
- это стандартный SQL для этой конструкции.Некоторые базы данных используют SELECT TOP (1)
или LIMIT
или даже другие методы.MySQL использует LIMIT
вместо FETCH FIRST
.
Вы не можете использовать функции агрегирования в предложении WHERE
.Вы можете использовать их в предложении HAVING
после GROUP BY
, но эта логика не подходит.