Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL - WYBIERZ JAKO w WHERE

Po pierwsze, nie możesz użyć ALIAS na WHERE klauzula. Powinieneś używać kolumny,

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

Powód jest następujący:kolejność działania to SQL,

  • klauzula FROM
  • klauzula GDZIE
  • klauzula GROUP BY
  • klauzula HAVING
  • klauzula SELECT
  • klauzula ORDER BY

ALIAS odbywa się na SELECT klauzula przed WHERE klauzula.

jeśli naprawdę chcesz użyć aliasu, zapakuj go w podzapytanie,

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. virtualenv (python3.4), pip install mysqlclient błąd

  2. CodeIgniter:Przechowywanie obrazu w bazie danych?

  3. PHP MySQL Google Chart JSON — kompletny przykład

  4. MySQL Data - Najlepszy sposób na zaimplementowanie stronicowania?

  5. Zaimportuj i wstaw plik sql.gz do bazy danych za pomocą programu putty