我有一個看起來像這樣的表:
people:
----- -------- -----
| id | name | age |
----- -------- -----
| 25 | Alpha | 30 |
| 113 | Beta | 21 |
| 10 | Test | 19 |
----- -------- -----
還有一個是這樣的:
table2:
----- ----------- --------------
| id | company | candidate_id |
----- ----------- -------------- -
| 1 | Google | 10 |
| 36 | Microsoft | 113 |
| 137 | Google | 10 |
| 2 | ITCompany | 10 |
----- ----------- -------------- -------
我想用 table2 加入人們,這樣我就可以找到與每個唯一人員 ID 對應的 DISTINCT 公司的總數。我的最終結果應該是這樣的:
----- -------- -----------
| id | name | companies |
----- -------- -----------
| 10 | Test | 2 |
| 25 | Alpha | 0 |
| 113 | Beta | 1 |
----- -------- -----------
我怎樣才能為公司做計數?
SELECT people.id, name, company
FROM people
LEFT JOIN reports on people.id = table2.people_id
uj5u.com熱心網友回復:
您可以按 people.id 分組并計算不同的公司:
SELECT p.id, p.name,
COUNT(DISTINCT r.company) companies
FROM people p LEFT JOIN reports r
ON p.id = r.people_id
GROUP BY p.id;
我假設id是表的主鍵people。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/457740.html
