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

MySQL LEFT JOIN chỉ có 1 hàng tùy thuộc vào giá trị MAX ()

Bạn có thể sử dụng JOIN đơn giản tới table2 , chỉ cần đặt MAX(WorkDay) điều kiện thành JOIN điều kiện như một truy vấn con tương quan, nơi bạn có thể truy cập vào table1 giá trị id:

SELECT *
FROM table1 t1
JOIN table2 t2 ON t2.id = t1.id AND
                  t2.WorkDay = (SELECT MAX(WorkDay) 
                                FROM table2 
                                WHERE table2.id = t1.id)

Đầu ra:

ID  Name    ID  WorkDay     MissionCode
1   Brain   1   2019-02-01  2470
2   Amy     2   2019-02-01  7210

Demo trên dbfiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn hàng mới với dữ liệu được tính toán từ các hàng khác

  2. Số cột tối đa trong bảng MySQL

  3. MySQL - tìm sự khác biệt giữa các hàng của cùng một bảng

  4. JSON_ARRAY () - Tạo một mảng JSON từ một danh sách các giá trị trong MySQL

  5. Lỗi WAMP / MySQL không đúng ngôn ngữ