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

Làm thế nào để sửa chữa cột không xác định Bí danh truy vấn MySQL? 2018

Theo Hướng dẫn Tham khảo MySQL 5.7 ,

Bạn không nên sử dụng bí danh trong mệnh đề WHERE vì bí danh được tạo khi chạy truy vấn và có thể không sẵn sàng khi điều kiện WHERE thực thi. Bạn nhận được bí danh là lỗi cột không xác định vì MySQL không biết bí danh cho đến sau khi nó được tạo ra do kết quả của truy vấn. Do đó, bạn không thể sử dụng bí danh trong mệnh đề WHERE ở đây.

(Bổ sung sau chỉnh sửa câu hỏi)

Bạn có thể nhận được kết quả mong muốn với truy vấn sau:

SELECT r.id, r.url, MAX(date) as `max_date`
FROM report as r
GROUP BY id, url;

Giải thích Truy vấn:Trong SELECT mệnh đề bạn chỉ đề cập đến các cột bạn muốn hiển thị, MAX() hàm sẽ tự chọn các giá trị lớn nhất (vì vậy bạn không cần mệnh đề WHERE) và mệnh đề GROUP BY cho biết kết quả để nhóm tất cả các kết quả dựa trên id rồi đến url .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách sử dụng hàm bên trong request_once

  2. Mysql trong đó 1 =0 nhầm lẫn

  3. lỗi cú pháp:'dấu phân cách' không phải là đầu vào hợp lệ ở đây

  4. nhận các giá trị không tồn tại trong bảng mysql

  5. Sử dụng $ _SESSION để truyền dữ liệu