在这种情况下如何找到总记录:
我有一个表“用户”、一个表“消息”和一个表“组”。用户可以发送消息,该消息将存储在“messages”表中。每个用户都可以是一个组的成员。现在我想在组详细信息页面上显示组中所有用户发送的消息总数。如何获取群组中的所有用户并统计他们的消息?最好、最快的方法是什么?
我无法使用连接,所以这不起作用。我不知道如何解决它。
SELECT COUNT(Message_id) AS total_messages, d.Userid FROM messages AS d LEFT JOIN users AS s ON (s.Groupid=$groupid) WHERE s.Groupid=$groupid
谢谢!
如果您需要表结构:
** users **
Userid
Groupid
** groups **
Groupid
Some_details
** messages **
Messageid
Userid
Subject
Content
最佳答案
如果您正在查找消息总数而不需要了解每个用户,请尝试
SELECT COUNT(messages.Messageid) as total_messages
FROM messages
INNER JOIN users ON messages.Userid = users.Userid
WHERE users.Groupid = $groupid
如果您要基于 messages.Userid
字段进行大量查询,请确保您也对该字段建立索引。
需要对每个用户尝试进行计数
SELECT
COUNT(messages.Messageid) as num_messages,
messages.Userid
FROM messages
INNER JOIN users ON messages.Userid = users.Userid
WHERE users.Groupid = $groupid
GROUP BY users.Userid
关于php - 如何查找记录总数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10797493/