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

Tôi có thể sử dụng cột mà tôi đã chọn sau này trong một truy vấn không?

Sử dụng:

SELECT `id`,
       `hits` + `other_hits` AS `total_hits`
  FROM `something`
HAVING `total_hits` > 30

MySQL sớm nhất cho phép tham chiếu đến bí danh cột là GROUP BY mệnh đề; mệnh đề sau tham chiếu hỗ trợ đó (HAVING , ORDER BY ). Hầu hết các cơ sở dữ liệu khác không hỗ trợ tham chiếu bí danh bảng trước ORDER BY , thường yêu cầu sử dụng bảng dẫn xuất / chế độ xem nội tuyến:

SELECT t.id, t.total_hits
  FROM (SELECT `id`,
               `hits` + `other_hits` AS `total_hits`
          FROM `something`) t
 WHERE t.total_hits > 30

Nếu không, bạn phải sử dụng lại logic trong mệnh đề WHERE:

SELECT `id`,
       `hits` + `other_hits` AS `total_hits`
  FROM `something`
 WHERE `hits` + `other_hits` > 30


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. truy vấn sql để tìm nạp các bản ghi của 30 ngày tới

  2. Thay đổi mật khẩu người dùng trong PHP và mySQL

  3. Nhiều truy vấn phụ với khuôn khổ zend

  4. Làm cách nào để xây dựng lại chỉ mục và cập nhật số liệu thống kê trong MySQL innoDB?

  5. Làm cách nào để bạn có được UTC của một Trường datetime?