当前位置: 首页 > 面试题库 >

MySQL在多个列上计算不同的值

姚子石
2023-03-14
问题内容

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

我只是从一个不在的顾问那里继承了这个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?(嘘!)


问题答案:

只需在GROUP BY子句中列出多列即可。

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


 类似资料:
  • 问题内容: 我如何使用JPA条件API执行以下操作: 使用CriteriaBuilder.countDistinct在一个列/路径上执行此操作很简单,但是如何在两个路径/列上执行此操作? 问题答案: 这是一个较晚的答案:-)尽管我不确定情况是否有所改变。 最近,我遇到了非常相同的需求,并使用concat解决了该需求,即通过将列连接为 伪列 ,然后将其连接到 伪列 上。 但是我不能使用,因为它生成了

  • 我会跟踪哪些人登录到我们的本地服务器,如下面的数据库所示。 我的数据库结构是:

  • 问题内容: 我有一个有趣的查询需要做。我有一张表,其中有一列包含ip地址编号(使用)和一列。我希望能够计算每天有唯一IP地址列的数量。也就是说,每天有多少个不同的ip行。因此,例如,如果一个IP地址在同一天两次,则在最终计数中将计为1;但是,如果同一IP地址在另一天,则将被计算为第二个计数。 示例数据: 问题答案: SQLFiddle演示

  • 问题内容: 我是Oracle的新手。我有一个Oracle表有三列:,和。在第三列中的行具有值,或 。 我想使用count运行查询,以显示可维修的数量,正在维修的数量,针对每个项目类别的谴责数量。 我想运行类似的东西: 我无法在计数内运行内部查询。 这是我希望结果集看起来像的样子: 问题答案: 您可以在COUNT函数中使用CASE或DECODE语句。 输出:

  • 我有以下代码。。。 } ...如果我想返回与WHERE条件匹配的行的总数,这样做很好。 但是,我只想计算这3列中具有不同/唯一数据组合的记录:C_URI、C_BYTE_START_NUM和C_NUM_BYTES。 我知道我可以做一些像。。。 ...但是我希望在这种情况下有更有效的方法来执行不同的计数?? 为了增加清晰度,如果我的表中有这些数据… C_URI |C_BYTE_START_NUM |C

  • 问题内容: 我刚开始使用SQL并遇到了问题。 在我的数据库中,我目前有两个表,电影院和剧院。我正在尝试在Cinemas表中创建一列“#Theatres#”,该表计算着Cinemas表中具有与Cinemas表中的Cinema相同的CinemaID(外键)的Theaters表中的剧院数量。我将其用作SQL查询: 但是想知道是否有可能在Cinemas表中创建一列,该列会自动执行上述查询并将值插入到每一行