sql >> Database teknologi >  >> RDS >> Mysql

MySQL - VÆLG SOM I WHERE

For det første kan du ikke bruge ALIASWHERE klausul. Du skal bruge kolonnen,

SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val 
FROM   users 
WHERE  SUBSTRING(rating, INSTR(rating,',') +1, +2) = '15'

Årsagen er som følger:rækkefølgen af ​​operationen er SQL,

  • FROM-klausul
  • WHERE-sætning
  • GROUP BY-klausul
  • HAVING-sætning
  • SELECT-sætning
  • ORDER BY-klausul

ALIAS foregår på SELECT klausul, som er før WHERE klausul.

hvis du virkelig ønsker at bruge aliaset, skal du pakke det ind i en underforespørgsel,

SELECT *
FROM
    (
        SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val 
        FROM   users
    ) s
WHERE   val  = '15'


  1. TO_TIMESTAMP() Funktion i Oracle

  2. Codeigniter - flere databaseforbindelser

  3. Sådan slipper du en begrænsning i SQL Server (T-SQL)

  4. ScaleGrid DBaaS udvider MySQL Hosting Services gennem AWS Cloud