SQL分组和聚合(Grouping and Aggregates)

简介: 这章应该是难点,也是成为SQL高手的必经之路。 注意有GROUP 语句时,WHERE和HAVING的场合。 前者用于检索前的条件过滤 。 后者用于检索出来结果之后的条件过滤。 ========== SELECT open_emp_id , COUNT(*) AS how_many ...

这章应该是难点,也是成为SQL高手的必经之路。

注意有GROUP 语句时,WHERE和HAVING的场合。

前者用于检索前的条件过滤 。

后者用于检索出来结果之后的条件过滤。

==========

SELECT open_emp_id , COUNT(*) AS how_many FROM account GROUP BY open_emp_id HAVING open_emp_id > 10;
SELECT product_cd, MAX(avail_balance) max_balance, MIN(avail_balance) min_balance, AVG(avail_balance) avg_balance, SUM(avail_balance) tot_balance, COUNT(*) num_accounts FROM account GROUP BY product_cd ;
SELECT COUNT(DISTINCT open_emp_id);
SELECT MAX(pending_balance - avail_balance) max_uncleared FROM account;
SELECT COUNT(*) num_rows, COUNT(val) num_vals, SUM(val) total, MAX(val) max_val, AVG(val) avg_val FROM number_tbl;
SELECT product_cd, open_branch_id, SUM(avail_balance) total_balance FROM account GROUP BY product_cd, open_branch_id;
SELECT EXTRACT(YEAR FROM start_date) year, COUNT(*) how_many FROM employee GROUP BY EXTRACT(YEAR FROM start_date);
SELECT product_cd, open_branch_id, SUM(avail_balance) tot_balance FROM account GROUP BY product_cd, open_branch_id WITH ROLLUP;
SELECT product_cd, SUM(avail_balance) prod_balance FROM account WHERE status = 'ACTIVE' GROUP BY product_cd HAVING MIN(avail_balance) >= 1000 AND MAX(avail_balance) <= 10000;

目录
相关文章
|
SQL 流计算
Flink SQL 在快手实践问题之Window TVF改进窗口聚合功能如何解决
Flink SQL 在快手实践问题之Window TVF改进窗口聚合功能如何解决
474 1
|
SQL 数据挖掘 数据库
SQL分组函数
【7月更文挑战第24天】SQL分组函数
369 1
创建分组总计查询的SQL技巧与方法
在SQL中,创建分组总计查询(也称为聚合查询)是一项非常基础且重要的技能
|
SQL 数据库
【SQL】已解决:SQL分组去重并合并相同数据
【SQL】已解决:SQL分组去重并合并相同数据
645 1
|
SQL HIVE
【Hive SQL 每日一题】分组排名取值
创建了一个名为`sales_data`的测试表,包含商品ID、销售额和销售日期。展示了部分示例数据。接着,提供了三个SQL查询:1) 查找每个商品销售额最高的记录;2) 获取每个商品最近和最远的销售记录;3) 求每个商品距今第二近的销售记录。每个查询都利用了窗口函数来处理数据,并给出了相应的查询结果图。
483 1
|
SQL
SQL SERVER数据分组后取第一条数据——PARTITION BY
SQL SERVER数据分组后取第一条数据——PARTITION BY
768 0
|
SQL 关系型数据库 MySQL
MySQL获取分组里的最新数据如何写sql
MySQL获取分组里的最新数据如何写sql
403 0
|
分布式计算 BI MaxCompute
SQL 能力问题之输出聚合的维度列的名称,如何解决
SQL 能力问题之输出聚合的维度列的名称,如何解决
|
SQL
sql语句按指定某个字段分组后删除重复数据只保留id最小/最大的一条数据
sql语句按指定某个字段分组后删除重复数据只保留id最小/最大的一条数据
438 0
|
SQL 关系型数据库 MySQL
MySQL数据库——SQL(3)-DQL(基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询、案例练习)
MySQL数据库——SQL(3)-DQL(基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询、案例练习)
499 0