初学者心态

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  49 随笔 :: 0 文章 :: 28 评论 :: 50万 阅读

表的设计:

表里面的内容:

 

一:在不使用聚合函数的时候,group by 子句中必须包含所有的列,否则会报错,如下

select name,MON from [测试、] group by name

会报错:

在子句中加上所有的列的时候

select name,MON from [测试、] group by name,mon

这时候不报错,执行结果

此时虽然成功执行了,但是可以看出来group by在这里并没有发挥任何的作用,我们完全可以直接select而不用group by,所以,group by子句要配合聚合函数使用,并且,在配合聚合函数使用的时候,在group by子句中不要加上聚合函数处的列名(加入as了的话)

配合聚合函数使用了的情况:

select SUM(mon),name from [测试、] group by name

结果:

是我们想要的。

再如:

select MAX(ID),name from [测试、] group by name

结果:

也是我们想要的。

 

但是说如果这样的话:

select MAX(ID) as id,name from [测试、] group by name,id

得到的结果是:

很明显这不是我们想要的。

所以这时候在使用聚合函数的地方若是使用了as另外命名,请不要在group by子句后再加上那个令命名的名字,否则就和文章刚开始出现的情况一样

posted on   初学者心态  阅读(38625)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示