如何使用自我加入来计算我的平台上有多少人在我当前使用 MySQL 之前在另一家公司工作过?

How to use a self join to get the COUNT of how many people on my platform have worked at another company prior to my current one using MySQL?

我有一个 table 的形式:

id comp employment_year
1 ShoesCo 2000
1 FeetOrg 2006
1 SizeEight 2012
2 ShoesCo 2001
2 SizeEight 2004
2 FeetOrg 2007
3 SizeEight 2001
3 ShoesCo 2004
3 FeetOrg 2007

我想统计(获取总数)在 ShoesCo 之前 到 (employment_date) 工作的人数在 SizeEight 工作。 id 是每个员工的唯一标识。我正在考虑自行加入,但对 SQL.

的经验有限

这个例子的答案应该是 2。

如果 (id,comp) 数据没有重复,则

SELECT COUNT(DISTINCT id)
FROM table t1
JOIN table t2 USING (id)
WHERE t1.comp = 'ShoesCo'
  AND t2.comp = 'SizeEight'
  AND t1.employment_year < t2.employment_year