在SQL中使用两列来获取另一列的计数

时间:2015-07-25 04:16:24

标签: mysql

我有一个简单的问题,我不确定如何搜索(或标题!)。如果这被问过一百万次,我道歉。对于下表,我如何生成一份报告,详细说明一个人工作过的公司数量以及有多少人也为同一个号码工作过?因此,例如,此表应返回:

people, companiesperperson
   1,            1
   2,            2
   1,            3

对于下表名为personalinfo:

id_number     first     last           company
   1             John      Doe            Intel
   2             John      Doe            Microsoft
   3             Phil      Jenkins        Amgen
   4             Phil      Jenkins        Bayer
   5             Phil      Jenkins        Sanofi
   6             Josh      Edwards        Walgreens
   7             Amy       Dill           URS
   8             Amy       Dill           ARCADIS

让我知道这是否仍然令人困惑,如果我可以进一步澄清我想要做的事情。

谢谢!

1 个答案:

答案 0 :(得分:0)

这是对查询的粗略估计,但

@OnOpen
public void open(final Session session, @PathParam("room") final String room) {
    Subject currentUser = SecurityUtils.getSubject();
    long id = currentUser.getPrincipals().oneByType(model.Users.class)
            .getId();

    log.info("session openend and bound to room: " + room);
    session.getUserProperties().put("user", id);

}

要在子查询中首先解释查询,我们在按名称拆分所有行后询问公司的名称和数量

然后在外部查询中,我们按行数分割所有行,并询问每组中可以找到多少个唯一名称。

我可能会留下一些语法错误,但是按功能分组对于理解如何解决这个问题非常重要。