在SQL查询GROUP BY语句用于什么

 我来答
59分粑粑分享生活
高粉答主

2020-04-26 · 专注生活好物分享,解答日常方方面面的问题
59分粑粑分享生活
采纳数:326 获赞数:119834

向TA提问 私信TA
展开全部

关系数据库中的SQL查询得知,GROUP BY语句用于组合聚合函数以基于一个或多个列对结果集进行分组。

例如:

select distinct username from users group by username having count(*)>1

这句话的意思是:首先按用户名分组,然后找到其中count(*)> 1的记录,

即:查询以在用户表中查找具有相同用户名的多个记录的用户名。

扩展资料:

通常在SELECT语句中使用分组子句,并且将进行聚合操作。 但是,分组子句对于执行聚合操作不是必需的。

例如,要查找直隶男同学的人数,此时只有一个合计值,因此无需将其分组。

SELECT COUNT(*)

from student

where ssex='男';

但是,当同一聚合操作有多个值时,必须使用分组子句。

例如:查找每个年龄段的学生人数。 此时存在多个与年龄有关的聚合值,因此必须将其分组。

qingxsky
推荐于2017-10-10 · 知道合伙人软件行家
qingxsky
知道合伙人软件行家
采纳数:513 获赞数:1669
毕业东北电力大学信息与计算科学专业,本科学位。企业资产管理行业9年从业经验,现任三峡高科实施顾问。

向TA提问 私信TA
展开全部
在关系数据库的SQL查询中,GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
下面举例说明:
学生成绩表score中有学号xh、班级bj、总成绩zcj字段,现在需要统计本次考试各班有多少人参加
select count(xh),bj from score group by bj
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
www247239805
推荐于2017-09-02 · 超过19用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:48.5万
展开全部
select 字段1, 字段2, 字段3, max(), min(), count(), sum() ,avg()
from TABLE
left/right/inner join TB on TB.字段 = TABLE .字段
where 筛选条件
group by 字段1, 字段2, 字段3 (分组此:不能使用函数,只能使用select中的非函数字段)
having max()/min()/ count()/ sum() /avg() +筛选条件
order by 字段 asc(默认升序) desc
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忆似血中剑
2012-06-01 · TA获得超过275个赞
知道小有建树答主
回答量:556
采纳率:0%
帮助的人:253万
展开全部
用于分组,例如:
select distinct username from users group by username having count(*)>1
此句的含义为:先根据username进行分组,然后再找出其中count(*)>1的记录,
亦即:查询出users表中同样的username有多条记录的username
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qq116742604
2012-06-01
知道答主
回答量:33
采纳率:0%
帮助的人:9.4万
展开全部
group by表示分组
比如说一个班级里的学生要按某一属性分组,这时候可能会用到group by按某一属性进行分组显示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式