【问题标题】:trying to count and join on two mysql tables试图计算并加入两个 mysql 表
【发布时间】:2013-04-25 12:52:44
【问题描述】:

我有一个带有两个表的 mysql 数据库:

db.names

name | Level
------------
bob    4
john   3
andy   2
dave   1

db.data

entry | user
------------
dfds    bob
hdes    bob
sers    john
iuid    dave
yyuy    john

我正在尝试计算每个用户输入了多少条目并显示他们的级别。所以 lit 看起来像这样:

count(*) | user | Level
-----------------------
2         bob     4
2         john    3
1         dave    1

我尝试使用左连接和不同连接,但似乎可以掌握逻辑。非常感谢您的帮助

【问题讨论】:

    标签: mysql sql join count


    【解决方案1】:

    您基本上需要使用INNER JOIN 连接表,因为您只想显示两个表上都存在的记录。要计算它们的实例数,您需要使用聚合函数 COUNT()GROUP BY 子句。

    SELECT  COUNT(*) TotalCount,
            a.Name,
            a.Level
    FROM    names a
            INNER JOIN data b
                ON a.Name = b.user
    GROUP   BY a.Name, a.Level
    

    如需进一步了解联接,请访问以下链接:

    输出

    ╔════════════╦══════╦═══════╗
    ║ TOTALCOUNT ║ NAME ║ LEVEL ║
    ╠════════════╬══════╬═══════╣
    ║          2 ║ bob  ║     4 ║
    ║          2 ║ john ║     3 ║
    ║          1 ║ dave ║     1 ║
    ╚════════════╩══════╩═══════╝
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-01
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      相关资源
      最近更新 更多