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

kết nối trái nhân các giá trị

Cú giật đầu gối của tôi là một truy vấn phụ:

select count(capture_id) as count_captures, 
    (select count(id) as count_items
         from items i where i.creator_user_id = captures.user_id) as count_items 
from captures 
where user_id = 9

Tôi thực sự không chắc bạn có thể làm gì để tránh điều này. Bạn đang thấy hành vi được mong đợi (và nói chung là hành vi mong muốn).

Tất nhiên, nếu bạn biết rằng ID của cả hai sẽ không lặp lại, bạn có thể sử dụng riêng biệt:

SELECT COUNT( DISTINCT capture_id) as count_captures, 
      COUNT( DISTINCT items.id) as count_items 
FROM captures 
LEFT JOIN items ON captures.user_id = items.creator_user_id 
    WHERE user_id = 9


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm nhóm bản ghi phù hợp với nhiều giá trị

  2. Cân bằng tải cơ sở dữ liệu-Aware:Cách chuyển từ HAProxy sang ProxySQL

  3. Tham gia Mysql cung cấp các hàng trùng lặp

  4. Vui lòng giải thích MySQL Joins bằng ngôn ngữ đơn giản

  5. # 1115 - Bộ ký tự không xác định:'utf8mb4'