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

Chỉ trả lại một hàng từ bảng ngoài cùng bên phải cho mọi hàng trong bảng ngoài cùng bên trái

Sử dụng:

  SELECT u.id,
         u.name,
         MIN(t.spent) AS spent
    FROM USERS u
    JOIN TRANSACTIONS t ON t.uid = u.id
GROUP BY u.id, u.name

Xin lưu ý rằng điều này sẽ chỉ trả về những người dùng có ít nhất một bản ghi GIAO DỊCH. Nếu bạn muốn xem những người dùng không có hồ sơ hỗ trợ cũng như những người có - hãy sử dụng:

   SELECT u.id,
          u.name,
          COALESCE(MIN(t.spent), 0) AS spent
     FROM USERS u
LEFT JOIN TRANSACTIONS t ON t.uid = u.id
 GROUP BY u.id, u.name


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trả lại giá trị ngay cả khi không có kết quả

  2. MySql, tách một chuỗi và chèn vào bảng

  3. Chỉ hiển thị các danh mục phụ của wordpress

  4. '𠂉' Không phải là một ký tự unicode hợp lệ, nhưng nằm trong bộ ký tự unicode?

  5. loại bỏ các hàng trùng lặp dựa trên một giá trị cột