像这样:

SELECT s.*, count( logs.* ) as ssh_count
FROM servers s
LEFT JOIN logs ON s.ip_address = logs.server_ip


但是我收到该查询错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* ) as ssh_count FROM servers s LEFT JOIN logs ON s.ip_address = logs.server_ip LIMIT' at line 1

我认为这是因为您无法在count函数中处理表。

我可以使用子查询来执行此操作,但这可能会缓慢降低查询速度。
有什么更好的方法?

最佳答案

您可以寻址表列,但不能寻址table.*,例如,可以这样做:

SELECT s.*, count( logs.server_ip ) as ssh_count
FROM servers s
LEFT JOIN logs ON s.ip_address = logs.server_ip

关于mysql - 我可以计算联接表中的行数吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6290805/

10-14 02:25