mysql - sum多个字段 - sql行求和




MySQL在多列上计算不同的值 (2)

只需列出GROUP BY子句中的多个列。

SELECT computer, user, count(*) AS count
FROM login
GROUP BY computer, user

我编写了一个脚本,每次用户登录我们域中的计算机时都会运行该脚本。 此脚本记录用户以及他们登录的计算机。 任意数量的用户都可以登录任意数量的计算机。

我只是从一个不在身边的顾问那里继承了这个IT环境,我正在编写这个小查询,所以当我接到用户的电话时,我可以搜索该用户的名字并合理地预测他们正在使用哪台计算机。他们登录任何指定计算机的次数。

以下是“登录”表中的数据示例:

    COMPUTER        USER
    ncofp02         lee
    ncofp02         lee
    ncofp02         andy
    ncodc01         andy
    ncodc01         andy
    ncodc01         lee

我正在敲打的是在多列中计算不同值的逻辑。 我希望看到这样的结果:

    COMPUTER       USER   COUNT
    ncofp02        lee    (2)
    ncofp02        andy   (1)
    ncodc01        lee    (1)
    ncodc01        andy   (2)

有没有办法用mysql中的单个查询来完成这个,或者我应该开始循环一些php? (booooo!)


尝试这个:

SELECT l.computer, l.user, COUNT(DISTINCT l.computer, l.user) AS count
FROM login l 
GROUP BY l.computer, l.user




distinct