Votre erreur de requête est attendue puisque vous avez deux WHERE
clause et USER
est un mot clé et ne doit pas être utilisé comme identifiant. Je leur ai échappé en utilisant backtique mieux utiliser un mot non clé/réservé comme nom de colonne. Votre requête devrait ressembler à
SELECT COUNT(u.user_id) FROM `USER` u
INNER JOIN USAGE us on us.user_id = u.user_id
JOIN PRODUCT p ON us.product_id = p.product_id
WHERE p.product = 'iPhone'
AND u.usage_count > 0
AND u.account_created <= '2016-12-31'
AND u.account_created >= '2016-01-01'