Innanzitutto, non puoi usare ALIAS
nel WHERE
clausola. Dovresti usare la colonna,
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
WHERE SUBSTRING(rating, INSTR(rating,',') +1, +2) = '15'
Il motivo è il seguente:l'ordine delle operazioni è SQL,
- Clausola DA
- Clausola WHERE
- Clausola GROUP BY
- Clausola HAVING
- Clausola SELECT
- Clausola ORDER BY
il ALIAS
avviene su SELECT
clausola che precede il WHERE
clausola.
se vuoi davvero usare l'alias, avvolgilo in una sottoquery,
SELECT *
FROM
(
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
) s
WHERE val = '15'