在SQL查询GROUP BY语句用于什么
展开全部
从关系数据库中的SQL查询得知,GROUP BY语句用于组合聚合函数以基于一个或多个列对结果集进行分组。
例如:
select distinct username from users group by username having count(*)>1
这句话的意思是:首先按用户名分组,然后找到其中count(*)> 1的记录,
即:查询以在用户表中查找具有相同用户名的多个记录的用户名。
扩展资料:
通常在SELECT语句中使用分组子句,并且将进行聚合操作。 但是,分组子句对于执行聚合操作不是必需的。
例如,要查找直隶男同学的人数,此时只有一个合计值,因此无需将其分组。
SELECT COUNT(*)
from student
where ssex='男';
但是,当同一聚合操作有多个值时,必须使用分组子句。
例如:查找每个年龄段的学生人数。 此时存在多个与年龄有关的聚合值,因此必须将其分组。
推荐于2017-10-10 · 知道合伙人软件行家
关注
展开全部
在关系数据库的SQL查询中,GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
下面举例说明:
学生成绩表score中有学号xh、班级bj、总成绩zcj字段,现在需要统计本次考试各班有多少人参加
select count(xh),bj from score group by bj
下面举例说明:
学生成绩表score中有学号xh、班级bj、总成绩zcj字段,现在需要统计本次考试各班有多少人参加
select count(xh),bj from score group by bj
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用于分组,例如:
select distinct username from users group by username having count(*)>1
此句的含义为:先根据username进行分组,然后再找出其中count(*)>1的记录,
亦即:查询出users表中同样的username有多条记录的username
select distinct username from users group by username having count(*)>1
此句的含义为:先根据username进行分组,然后再找出其中count(*)>1的记录,
亦即:查询出users表中同样的username有多条记录的username
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
group by表示分组
比如说一个班级里的学生要按某一属性分组,这时候可能会用到group by按某一属性进行分组显示
比如说一个班级里的学生要按某一属性分组,这时候可能会用到group by按某一属性进行分组显示
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询