找文章 / 找答案
  • 发帖数116
  • 粉丝0

此人很懒,什么也没有留下

  • 解答问题超厉害

    经常帮助其他会员答疑
精选问答 更多内容

[数据处理] sql

小白福在加油玄铁三 显示全部楼层 发表于 2024-5-30 18:03:18 |阅读模式 打印 上一主题 下一主题
1
未解决

【数据处理】 sql

1669 8
2024前面代码可以运行,最后一行去重的时候报错,是我语法错误了吗,我想最后去重怎么去重
回复

使用道具 举报

精彩评论8

阿姆斯特朗炮铂金二 显示全部楼层 发表于 2024-5-31 08:13:57
我就纳闷了,我把sql给你写出来了,美滋滋也给你写了一遍sql了,咋就是不用呢,你这个sql肯定是错的啊,你的Group by中只根据了一个字段分组了,你的输出只能数组分组的字段啊,其他字段你起码汇总一下输出吧
回复

使用道具 举报

阿姆斯特朗炮铂金二 显示全部楼层 发表于 2024-5-31 08:15:20
你Group by了什么字段,select后面只能有什么字段,想添加其他字段,得加聚合函数,sum(列),min(列),max(列)之类的
回复

使用道具 举报

yhdata_2aA4rwOK青铜三 显示全部楼层 发表于 2024-5-31 08:45:17
SQL脚本写的不对,前边没用聚合函数,后边为什么要用group by呢
回复

使用道具 举报

39532白银二 显示全部楼层 发表于 2024-5-31 09:14:23
不用group by ,用distinct
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2024-5-31 09:16:30
我觉得楼主可能没有理解group by 的实际用处。
group by 首先是分组的功能。其次才会有去重的效果,
但是GROUP BY 的去重是因为分组而达到的去重效果。
一般使用GROUP BY 都是为了取的某些聚合统计数据而用的,并非主要用来去重的。
比如我有一份学校每个年级各个班级的考试成绩表,我想知道每个班得分总分,
那么我会SELECT 班级,SUM(分数) from 成绩表  group by 班级
通过上面的查询,我会用班级来分组,主要目的是为了得到分组后每个班级的分数求和(sum(分数))。
一般情况下,去重是用 distinct 这个关键字来完成去重的效果,这种去重是针对你搜索的所有项目去除完全一样的数据。
比如 select distinct 班级 from 成绩表 。 这条查询语句,我就可以得到参与了考试的所有班级一览。如果不加distinct 这个关机字,那么每个班级的分数会是有多条,因为成绩表中记录着每个班级每个人员的成绩。
不知道楼主明白了没有。
首先要搞清楚,你想怎么去重。
回复

使用道具 举报

yhdata_yzm 显示全部楼层 发表于 2024-5-31 09:49:04
在SQL查询中,GROUP BY子句通常用于将查询结果按一个或多个列进行分组,并对每个组应用聚合函数(例如,COUNT、SUM、AVG等)。在你的查询中,如果没有聚合函数的情况下使用GROUP BY,会导致SQL语法错误,因为没有明确的聚合逻辑。
回复

使用道具 举报

小白福在加油玄铁三 显示全部楼层 发表于 2024-5-31 10:10:00
统一回复:谢谢大家的批评,我在多了解一下group by
回复

使用道具 举报

给给白银四 显示全部楼层 发表于 2024-5-31 15:16:34
小白福在加油 发表于 2024-5-31 10:10
统一回复:谢谢大家的批评,我在多了解一下group by

小白福在加油
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部