Tôi có một câu hỏi có vẻ đơn giản với SQL mà tôi gặp khó khăn trong việc tìm ra. Giả sử tôi có các bảng sau:SQL COUNT với mệnh đề WHERE
company:
company_id
company_title
users:
user_id
username
company_owners:
company_id
user_id
Bây giờ, có thể có nhiều người dùng làm chủ sở hữu công ty. Dưới đây là một số ví dụ dữ liệu:
company:
1, "A Company"
2, "B Company"
3, "C Company"
users:
1, "A User"
2, "B User"
3, "C User"
company_owners:
1,1
1,2
1,3
2,3
tôi đang cố gắng để tạo ra một truy vấn (MySQL) mà được các COMPANY_TITLE, cũng như số lượng của chủ sở hữu đối với công ty đó, dựa trên một chủ sở hữu công ty cụ thể. Vì vậy, ví dụ:
truy vấn Ví dụ (bằng tiếng Anh) chạy: Nhận số của chủ sở hữu đối với từng công ty mà "C tài" là một chủ sở hữu:
company_id=1, company_title="A Company", num_owners=3
company_id=2, company_title="B Company", num_owners=1
company_id=3, company_title="C Company", num_owners=0
Tôi đã thử:
SELECT COUNT(user_id), company.* FROM `company`
LEFT JOIN `company_owners` ON company_owners.company_id = company.company_id
WHERE company_owners.user_id=1 GROUP BY company_id
Nhưng điều đó luôn mang lại cho tôi số lượng quyền sở hữu là "1", tôi giả định vì chỉ COUNTING hàng của nó trong đó user_id = 1.
Có ai có ý tưởng nào không? Tôi có thể cung cấp thêm chi tiết nếu cần.
Cảm ơn bạn rất nhiều!
là gì 'course_id'? –
Xin lỗi, đó là một loại nhập sai – Chris