曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3341|回复: 0
打印 上一主题 下一主题

GROUP BY -- 对数据分组

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2012-7-5 16:03:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GROUP BY 可以用来对查询结果分组。分组的目的就是将具有相同属性的内容归位一类,以方便统计。

以常用的论坛威力,在论坛里可分为版区,版块,子版块,二级子版块等,而实际应用中,一个论坛可能会被站长划分为多个分区,每个分区中有多个子版块,而子版块里可能还分有二级,甚至是多级的子版块。

在 Phpwind 论坛系统里,版块的类型信息是存放在 pw_forums 这个表里的,比如 category 表示的是分区,forum 表示的是普通的子版块,而 sub 表示的是第一级子版块,sub2 表示的是第 2 级子版块,以此类推。

如果我们只是用下面的语句:
[Plain Text] 纯文本查看 复制代码
SELECT type FROM pw_forums;

那么得到的结果将显得凌乱而难以统计:



从上图可以看到,有许多个 forum 和 category 的相同记录,这表明了该论坛有多个分区和多个版块。这时,可以用 GROUP BY 将这些相同的 forum 和 category 归为一类:
[Plain Text] 纯文本查看 复制代码
SELECT type FROM pw_forums GROUP BY type;




更进一步,我们还希望统计整个论坛共有多少个版区和版块以及子版块,使用下面的命令:
[Plain Text] 纯文本查看 复制代码
SELECT COUNT(*) AS num,type FROM pw_forums GROUP BY type;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-4 00:17 , Processed in 0.078939 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表