SQL语法集锦一:SQL语句实现表的横向聚合

简介: 本文转载:http://www.cnblogs.com/lxblog/archive/2012/09/29/2708128.html 问题描述:假如有一表结构和数据如下:C1C2C3C4C5126342234503628 ...

本文转载:http://www.cnblogs.com/lxblog/archive/2012/09/29/2708128.html

 

问题描述:
假如有一表结构和数据如下:

C1 C2 C3 C4 C5
1 2 6 3 4
2 2 3 4 5
0 3 6 2 8




经过sql查询后输出的结果集为:(字段后面增加聚合[最大值] [最小值] [>=5的值个数])

C1 C2 C3 C4 C5 Max Min Count(>=5)
1 2 6 3 4 6 1 1
2 2 3 4 5 5 2 1
0 3 6 2 8 8 2 2




实现该结果的SQL 脚本如下:

复制代码
/*  
  作    者:<Rising_Sun>
  创建日期:<2012-9-29>
  功    能:<实现表横向聚合>
*/
DECLARE @t TABLE(C1 int,C2 int,C3 int,C4 int,C5 int)
INSERT INTO @t VALUES(1,2,6,3,4)
INSERT INTO @t VALUES(2,2,3,4,5)
INSERT INTO @t VALUES(0,3,6,2,8)

--查询
SELECT *,
    [min] = (
        SELECT MIN(v) FROM(
            SELECT v=A.C1 UNION SELECT v=A.C2 UNION SELECT v=A.C3 UNION SELECT v=A.C4 UNION SELECT v=A.C5
        )B),
    [max] = (
        SELECT MAX(v) FROM(
            SELECT v=A.C1 UNION SELECT v=A.C2 UNION SELECT v=A.C3 UNION SELECT v=A.C4 UNION SELECT v=A.C5
        )B),
    [count>=5] = (
        SELECT COUNT(*) FROM(
            SELECT v=A.C1 UNION SELECT v=A.C2 UNION SELECT v=A.C3 UNION SELECT v=A.C4 UNION SELECT v=A.C5
        )B WHERE v>=5)
FROM @t A
复制代码

执行结果如下图所示:

目录
相关文章
|
19天前
|
SQL 存储 关系型数据库
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
本文详细介绍了MySQL中的SQL语法,包括数据定义(DDL)、数据操作(DML)、数据查询(DQL)和数据控制(DCL)四个主要部分。内容涵盖了创建、修改和删除数据库、表以及表字段的操作,以及通过图形化工具DataGrip进行数据库管理和查询。此外,还讲解了数据的增、删、改、查操作,以及查询语句的条件、聚合函数、分组、排序和分页等知识点。
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
|
2月前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
2月前
|
SQL 存储 关系型数据库
SQL `CREATE DATABASE` 语法
【11月更文挑战第10天】
76 3
|
2月前
|
SQL 关系型数据库 数据库
sql语法
【10月更文挑战第26天】sql语法
43 5
|
3月前
|
SQL 关系型数据库 MySQL
详解 pypika 模块:SQL 语句生成器,让你再也不用为拼接 SQL 语句而发愁
详解 pypika 模块:SQL 语句生成器,让你再也不用为拼接 SQL 语句而发愁
248 4
|
3月前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
3月前
|
SQL 存储 关系型数据库
mysql SQL必知语法
本文详细介绍了MySQLSQL的基本语法,包括SELECT、FROM、WHERE、GROUPBY、HAVING、ORDERBY等关键字的使用,以及数据库操作如创建、删除表,数据类型,插入、查询、过滤、排序、连接和汇总数据的方法。通过学习这些内容,读者将能更好地管理和操
58 0
|
3月前
|
SQL 关系型数据库 MySQL
Mysql(2)—SQL语法详解
SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准编程语言。它主要用于数据的查询、插入、更新和删除等操作。SQL最初在1970年代由IBM的研究人员开发,旨在处理关系数据模型。
47 0
|
4月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
6月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
147 13