I’m trying to retrieve the closest adjacent rows (above and below) a record in a result set that match a certain condition.
My problem appears to be in my use of min and max here:
WHERE ma_c.id = 2
AND ma_e.id > 4
AND ma_e.id = MIN(ma_e.id))
The error I receive is:
error : Invalid use of group function
Not quite sure what I’m doing incorrectly
(SELECT
ma_c.id as contest_id,
ma_c.name as name,
ma_c.title as title,
ma_u.id as user_id,
ma_u.first_name as user_first_name,
ma_u.last_name as user_last_name,
ma_u.street_address as user_street_address,
ma_u.city as user_city,
ma_u.zip_code as user_zip_code,
ma_u.email as user_email,
ma_u.phone_number as user_phone_number,
ma_u.country_code as user_country_code,
ma_u.gender as user_gender,
ma_u.dob as user_dob,
ma_u.ssn as user_ssn,
ma_u.canadian_province as user_canadian_province,
ma_u.state as user_state,
ma_e.id as entry_id,
ma_e.hash_id as entry_hash_id,
ma_e.create_datetime as entry_create_datetime,
ma_e.entry_type as entry_type,
ma_e.title as entry_title
FROM ma_contests ma_c
JOIN ma_users ma_u
ON ma_c.id = ma_u.contests_id
JOIN ma_entries ma_e
ON ma_u.id = ma_e.users_id
WHERE ma_c.id = 2
AND ma_e.id > 4
AND ma_e.id = MIN(ma_e.id))
UNION
(SELECT
ma_c.id as contest_id,
ma_c.name as name,
ma_c.title as title,
ma_u.id as user_id,
ma_u.first_name as user_first_name,
ma_u.last_name as user_last_name,
ma_u.street_address as user_street_address,
ma_u.city as user_city,
ma_u.zip_code as user_zip_code,
ma_u.email as user_email,
ma_u.phone_number as user_phone_number,
ma_u.country_code as user_country_code,
ma_u.gender as user_gender,
ma_u.dob as user_dob,
ma_u.ssn as user_ssn,
ma_u.canadian_province as user_canadian_province,
ma_u.state as user_state,
ma_e.id as entry_id,
ma_e.hash_id as entry_hash_id,
ma_e.create_datetime as entry_create_datetime,
ma_e.entry_type as entry_type,
ma_e.title as entry_title
FROM ma_contests ma_c
JOIN ma_users ma_u
ON ma_c.id = ma_u.contests_id
JOIN ma_entries ma_e
ON ma_u.id = ma_e.users_id
WHERE ma_c.id = 2
AND ma_e.id < 4
AND ma_e.id = MAX(ma_e.id))
—–EDIT—-
This is the relevant schema uml for the query I’m attempting to execute

and same for the next query