我有一个表administ
(管理),包含 4 列adm_nr
、pres_name
(总裁姓名)、year
和 vice_pres
(副总裁姓名)。
我需要选择 vice_pres
以及它们在表中出现的次数。
这是我的 SQL
SELECT vice_pres, COUNT(vice_pres)
FROM administ
GROUP BY vice_pres
问题是有一个额外的条件,因为我只想查看曾经担任过总统的副总统的结果(姓名和人数)。因此,同一个表的两列之间存在值比较,其中vice_pres(副总统的姓名)的值需要等于另一行但在同一个表内的pres_name的至少一个值(在他曾经担任过总统)。
我认为将会出现 self 加入的情况,但永远不可能 我想出如何记录这种情况。
提前致谢!
最佳答案
将表与自身连接以仅选择那些担任总统的人
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
关于MYSQL:基于同一张表的条件,不同列中的相同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32453484/