Chyba vašeho dotazu, která se očekává, protože máte dvě WHERE
klauzule a USER
je klíčové slovo a nemělo by se používat jako identifikátor. Unikl jsem jim pomocí backtique, raději použijte jako název sloupce neklíčové/rezervní slovo. Váš dotaz by měl vypadat takto
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'