Bạn có thể di chuyển truy vấn con đến having
mệnh đề. Như Gordon đã trả lời, bạn đang sử dụng having
mệnh đề thứ hai where
, mà chỉ MySQL hỗ trợ. Tốt hơn là thêm điều kiện thứ hai vào where
với and
:
SELECT e.id
FROM events e
WHERE author_id = 32
AND e.id >= (SELECT MIN(u.id) id
FROM (SELECT MIN(id) id
FROM events
WHERE author_id = 32
GROUP BY type, post_id, table_code, comment_id, context
ORDER BY MIN(id) desc
LIMIT 15) as u
)
ORDER BY id DESC
Dựa trên nhận xét của bạn, điều này sẽ đơn giản hơn một chút. Nó chọn 15 bài đăng có id sự kiện cao nhất:
SELECT id
FROM events
WHERE author_id = 32
AND post_id IN
(
SELECT DISTINCT post_id
FROM events
ORDER BY
id DESC
LIMIT 15
)