sql中,group by除了和count()配合,还能有其他用法吗?

只能和聚合函数配合吧!!!其他还有吗??... 只能和聚合函数配合吧!!!

其他还有吗??
展开
 我来答
badkano
推荐于2017-10-02 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885360
团长

向TA提问 私信TA
展开全部
还可以和很多啊
sum() avg() min() max() 等
这类都叫聚合函数

还可以去重,如果有重复数据的话,可以用group by,打个比方
如果表里有一列字段叫id
id
1
1
2
2

select id from 表名 group by id
这样得到的结果只有1和2
这个用法类似于distinct

如果有两列
id name
1 a
2 a
1 a
2 b
select id,name from 表名 group by id,name
结果是
1 a
2 a
2 b
就是去掉两俩完全相同的

还有一种,也是类似于上边两列数据
select id,name from 表名 group by id,name having count(*)>=2

这样的话,就是找出条数大于等于2的那列,也就是1 a

这个也可以配合其他聚合函数使用,

select id,name from 表名 group by id,name having sum(某字段)>=2
百度网友b6fd870
2009-07-07 · TA获得超过571个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:156万
展开全部
group by是根据某字段分组!
如group by id也就是根据ID分组!只要是ID相同的数据都合并成一条记录了!
因此就引出了聚合函数!
也可以这么说group by 是与聚合函数配合!用having 语句筛选指定条件的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
农映雁刑夜
2020-04-12 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:624万
展开全部
如:你计算某个员工的历史工资总和,则使用
select
ename
as
员工名
sum(salary)
as
工资总和
from
employee_salary
group
by
eid;
其中,salary是每次记录的工资,eid是员工id,ename是员工姓名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式