簡體   English   中英

MySQL內部連接另一個表的計數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM