0

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

数据库名称

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

数据库数据

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

我尝试使用左连接和不同连接,但似乎可以掌握逻辑。帮助将不胜感激

4

1 回答 1

4

您基本上需要使用连接表,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 ║
╚════════════╩══════╩═══════╝
于 2013-04-25T12:54:12.107 回答