You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写SQL统计posts表中相同post_topic的帖子总数?

原有SQL的问题

你当前写的语句无法实现分主题计数,存在两处错误:

  • 缺少分组逻辑:直接使用COUNT(*)只会返回posts表全表的总记录数,无法拆分统计每个post_topic对应的帖子数量
  • 排序逻辑无效:ORDER BY后用单引号包裹的'post_topic'会被识别为固定字符串,不是数据表字段,排序不会生效
正确SQL写法

要实现按主题统计帖子数,需要使用GROUP BY按照post_topic字段对记录分组,再对每组做计数,代码如下:

$sqld = "SELECT 
  `post_topic`,
  COUNT(*) AS post_count
FROM `posts`
GROUP BY `post_topic`";

语句返回的结果中,post_topic是主题编号,post_count对应该主题下的帖子总数。如果需要对结果排序,可以在语句末尾追加ORDER BY规则:

  • 按主题编号升序排列:末尾添加ORDER BY post_topic ASC
  • 按帖子数量从高到低排列:末尾添加ORDER BY post_count DESC

注意:SQL中字段名不要使用单引号包裹,单引号内的内容会被解析为字符串常量,如需转义字段请使用反引号。

内容的提问来源于stack exchange,提问作者Cesar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.11 16:16:25