我正在使用内部Join获取具有某些条件的用户列表。它的工作正常,但我也想在一个单一的MySQL查询中计算总数。这是查询:
select username, hostname, sessiontable.status
from usertable JOIN sessiontable
ON usertable.users_id = sessiontable.session_id
WHERE sessiontable.updated_at >= NOW() - INTERVAL 10 MINUTE
我也尝试使用
COUNT(*)
作为上述查询的总和,但它只给出计数和空字段。如何获得最近10分钟内看到的所有用户的计数。谢谢
最佳答案
使用group by子句并计算id
select username, hostname, sessiontable.status, count(usertable.users_id) as total
from usertable JOIN sessiontable
ON usertable.users_id = sessiontable.session_id
WHERE sessiontable.updated_at >= NOW() - INTERVAL 10 MINUTE
group by usertable.users_id