MYSQL:条件基于同一个表,不同列中的值相同

时间:2015-09-08 09:00:23

标签: mysql count group-by inner-join self-join

我有一个表administ(主管部门),其中包含4列adm_nrpres_name(总裁名称),yearvice_pres(副总裁名称) 。 我需要选择vice_pres以及表格中显示的次数。

这是我的SQL

SELECT vice_pres, COUNT(vice_pres)
FROM administ
GROUP BY vice_pres

问题是存在一个额外的条件,因为我只想看到曾担任过总统的副总统的结果(姓名和数量)。因此,在同一个表的两列之间存在值比较,其中vice_pres的值(副总裁的名称)需要等于另一行中的pres_name的至少一个值,但在同一个表中(在他在某个时候担任过总统。)

我认为会有一个自我加入的情况但不能终生 我弄清楚如何记下这种情况。

提前致谢!

1 个答案:

答案 0 :(得分:0)

与自己联系,只选择那些总统

SELECT t.vice_pres, COUNT(t.vice_pres)
FROM administ t join administ p on t.vice_pres=p.pres_name
GROUP BY t.vice_pres