Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL - CHỌN NHƯ ở ĐÂU

Đầu tiên, bạn không thể sử dụng ALIAS trên WHERE mệnh đề. Bạn chắc chắn đang sử dụng cột,

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

Lý do là như sau:thứ tự hoạt động là SQL,

  • Mệnh đề FROM
  • Mệnh đề WHERE
  • Mệnh đề GROUP BY
  • Mệnh đề HAVING
  • Mệnh đề SELECT
  • Mệnh đề ORDER BY

ALIAS diễn ra trên SELECT mệnh đề trước WHERE mệnh đề.

nếu bạn thực sự muốn sử dụng bí danh, hãy bọc nó trong một truy vấn con,

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. Nắm bắt các giá trị của các phần tử HTML trong một bảng động

  2. MySQL:Làm thế nào để chọn các bản ghi cho tuần này?

  3. Chơi 2.4 - Slick 3.0.0 - DELETE không hoạt động

  4. Đếm ngày trong phạm vi ngày?

  5. lưu trữ phân cấp mysql với cây lớn