У меня есть следующий запрос, который работает точно так, как задумано (спасибо полезным людям в stackoverflow).Однако я понял, что в дополнение к использованию счетчика для проверки того, является ли сообщение <= 3, я также хочу получить фактическое число / количество для каждой строки, которая возвращается в результатах.</p>
Это так, чтобы я мог настроить логику в зависимости от того, сколько сообщений имеет каждый из возвращенных пользователей.
Я пробовал несколько разных вариантов, но это не совсем работает.
SELECT u.*
FROM users u
WHERE
NOT EXISTS (
SELECT 1
FROM events e
WHERE e.user_id = u.id AND e.type = 'collection'
)
AND (
SELECT COUNT(*)
FROM messages m
WHERE m.user_id = u.id AND m.message_type = 'collection_reminder'
) <= 3
AND u.admin IS NULL