[英]MySQL inner join a count from another table
我正在嘗試在MySQL中執行SELECT
查詢,這還將在另一個表中進行count
並將答案join
到我的初始table
表people
id | 名稱| 發色| job_id
表job
id | job_name
SELECT *
FROM job j
INNER JOIN (SELECT COUNT(job_id) AS totals
FROM people p
WHERE p.job_id='1')
ON j.count = totals
WHERE id = '1'
ORDER BY id ASC
因此,我嘗試通過id
將上述查詢從我的job
表中選擇為“ Select”,並在people
表中進行count
並將列count
添加到我的job
結果中。
您不必在子查詢中進行計數:您可以直接選擇計數,然后分組。 此外,您不必手動精確調整people
job_id
:直接在兩個表字段之間創建JOIN(最小)。
SELECT j.id, j.job_name, count(p.id) as nb_people
FROM job j
INNER JOIN people p ON p.job_id = j.id
WHERE j.id = '1'
GROUP BY j.id, j.job_name
ORDER BY id ASC
看看MySQL聚合函數文檔: http : //dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
也許再看看JOIN文檔: http : //dev.mysql.com/doc/refman/5.7/en/join.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.