我应该使用什么PDO查询?

时间:2017-05-24 15:48:45

标签: php mysql pdo

我的数据库上有一个表调用了主题(topic_id,topic_subject,topic_content,topic_date,topic_cat,topic_comm,topic_by,投票,标签,视图,标志),从这个表我希望回显 10个顶级用户(topic_by),具有特定社区(topic_comm)上最多的主题(最大主题数)。我应该使用什么PDO查询?我认为需要以下内容:

$sql = $conn -> prepare("SELECT topic_by WHERE topic_comm=:comm AND ( MAX COUNT(topic_id) )") 

1 个答案:

答案 0 :(得分:3)

让我们逐步构建查询。为了按社区的大多数主题获得前10名用户,您需要计算该社区中每个用户的主题数量。

SELECT topic_by, COUNT(*) AS total_topic FROM topic 
WHERE topic_comm = :comm GROUP BY topic_by

然后,您想要获得前10位用户,您可以使用基本子查询和LIMIT。所以最后的查询

SELECT * FROM (
  SELECT topic_by, COUNT(*) AS total_topic FROM topic 
  WHERE topic_comm = :comm GROUP BY topic_by
) AS t ORDER BY t.total_topic DESC LIMIT 10