当前位置: 首页 > news >正文

SQL group by、where和having语句用法

SQL 语句中的 GROUP BY 子句用于将具有相同值的行分组在一起,通常与聚合函数(如 COUNT、SUM、AVG 等)一起使用。WHERE 子句用于筛选符合条件的行。HAVING 子句则在分组后对分组结果进行进一步筛选。
以下是一个使用 SQL 语句中的 GROUP BY、WHERE 和 HAVING 子句的示例:

SELECT   column1,  COUNT(column2) AS count_column2  
FROM  table_name  
WHERE  column1 > 100  
GROUP BY  column1  
HAVING  COUNT(column2) > 5;  

在这个示例中,我们首先根据 column1 列对数据进行分组。然后,我们使用 COUNT(column2) 函数计算每个分组中 column2 列的行数。最后,我们使用 HAVING 子句筛选出 column2 列行数大于 5 的分组。
这个查询将返回一个结果集,其中包含 column1 列的值以及每个分组中 column2 列的行数。对于 column1 列中值大于 100 的行,结果集将仅包含那些 column2 列行数大于 5 的分组。

说明:

1.where、having、group by、order by的顺序是:where -> group by -> having -> order by

2. GROUP BY子句必须出现在WHERE子句之后,ORDER BY子句之前. HAVING语句必须在ORDER BY子句之后。(where先执行,再groupby分组;groupby先分组,having在执行。)

3.除聚集计算语句外,SELECT语句中的每个列都必须在GROUP BY子句中给出。count()为聚集函数,vend_id在后面groupby中有,所以select后面有。

select vend_id, count(*) , sales from products group by vend_id;

这个语句,其中sales字段,在group by中没有,所以查询的结果,sales的值是错误的!!!(切记)

如果想用分组后的,sales的字段,可以采用left join的方式,相当于两个表匹配的方式,查询:(原始表B)

select vend_id, sales from B left join (select vend_id, count(*) nums, min(sales) sales from products group by vend_id) as A on B.vend_id = A.vend_id WHERE.......

http://www.lryc.cn/news/211429.html

相关文章:

  • 贝叶斯变分方法:初学者指南--平均场近似
  • Node学习笔记之user用户API模块
  • 智慧公厕:为公众提供全新的公共厕所使用体验
  • 共谈信创谋发展 | 开源网安主办的信创生态构建沙龙圆满完成
  • 第四章认识Node.js模块化开发
  • Widget必须在GUI线程中创建
  • Kubernetes概念及实践
  • 洛谷 B2007 A+B问题 C++代码
  • Git基础 | 原理、配置、用法、分支 合并
  • 刀具磨损状态识别(Python代码,MSCNN_LSTM_Attention模型,初期磨损、正常磨损和急剧磨损分类,解压缩直接运行)
  • web:[网鼎杯 2020 青龙组]AreUSerialz
  • 【Python机器学习】零基础掌握PolynomialCountSketch内核近似特征
  • 【Linux】深入理解系统文件操作(1w字超详解)
  • echarts柱状图和折线图双图表配置项
  • 【LVS实战】02 搭建一个LVS-NAT实验
  • 2023.10.26-SQL测试题
  • JVM虚拟机:从结构到指令让你对栈有足够的认识
  • 【启发式算法】白鲸优化算法【附python实现代码】
  • 【Python机器学习】零基础掌握RBFSampler内核近似特征
  • 高级工技能等级认定---网络设备安全
  • spting Boot常见知识点
  • 大模型在数据分析场景下的能力评测
  • [笔记] 关于y1变量取名冲突的问题
  • js笔记(函数参数、面向对象、装饰器、高级函数、捕获异常)
  • Istio实战(八)- Istio 动态准入 Webhook 配置
  • Vue的安装
  • macOS M1安装wxPython报错
  • 【数据结构】交换排序
  • 腾讯云2023年双11服务器优惠活动及价格表
  • PointNet++复现、论文和代码研读