`
tangleilei
  • 浏览: 13944 次
  • 来自: 上海
社区版块
存档分类
最新评论

常用的数据统计Sql 总结

sql 
阅读更多
最近刚在搞一个BI的项目,里面需要大量的sql 数据统计相关运用,加深了我又对SQL的理解与使用。



所以,分享几个数据统计时常用的sql 语句总结:



1. 统计各个条件下的数据

select
BatchId,sum(CardSum) 总金额,
sum(case when Status=1 then CardSum else 0 end) as 已使用,
sum(case when Status=2 then CardSum else 0 end) as 已冻结
from GiftCard
group by BatchId



2. 统计每日,每月,每年的数据

select year(AddTime) 年,month(AddTime) 月,day(AddTime) 日,COUNT(1) 数量,sum(CardSum) 销售合计
from GiftCard
group by year(AddTime),month(AddTime),day(AddTime)



3. 某列去重统计

select COUNT(BatchId),COUNT(distinct BatchId),COUNT(distinct BatchName)
from GiftCard



4. 行转列


复制代码
SELECT *
FROM (
    SELECT
        BatchName,
        CardSum as TotAmount
    FROM GiftCard

) as s
PIVOT
(   
    SUM(TotAmount)
    FOR BatchName IN (zx测试商品, test新人优惠券,测试高考大放送)
)AS MyPivot

复制代码



5. 得到表中最小的未使用的ID号

SELECT
(CASE WHEN EXISTS(SELECT * FROM GiftCard b WHERE b.Id = 1) THEN MIN(Id) + 1 ELSE 1 END) as Id
FROM GiftCard

WHERE NOT Id IN (SELECT a.Id - 1 FROM GiftCard a)



6. 查询某一列数据不重复的数量

select *
from GiftCard a
where not exists(select 1 from GiftCard where BatchName=a.BatchName and ID<a.ID)




7. 按年统计1月到12个月的销量


复制代码
select year(AddTime) as '年',
SUM(case when MONTH(AddTime)=1 then CardSum else 0 end ) as '一月',
SUM(case when MONTH(AddTime)=2 then CardSum else 0 end ) as '二月',
SUM(case when MONTH(AddTime)=3 then CardSum else 0 end ) as '三月',
SUM(case when MONTH(AddTime)=4 then CardSum else 0 end ) as '四月',
SUM(case when MONTH(AddTime)=5 then CardSum else 0 end ) as '五月',
SUM(case when MONTH(AddTime)=6 then CardSum else 0 end ) as '六月',
SUM(case when MONTH(AddTime)=7 then CardSum else 0 end ) as '七月',
SUM(case when MONTH(AddTime)=8 then CardSum else 0 end ) as '八月',
SUM(case when MONTH(AddTime)=9 then CardSum else 0 end ) as '九月',
SUM(case when MONTH(AddTime)=10 then CardSum else 0 end ) as '十月',
SUM(case when MONTH(AddTime)=11 then CardSum else 0 end ) as '十一月',
SUM(case when MONTH(AddTime)=12 then CardSum else 0 end ) as '十二月'

from GiftCard

group by year(AddTime)

作者:章为忠
出处:http://www.cnblogs.com/zhangweizhong/

分享到:
评论

相关推荐

    sql练习总结sql经验总结

    4. 分组:GROUP BY子句结合聚合函数(COUNT, SUM, AVG, MAX, MIN)用于对数据进行分组统计。 5. 联接:JOIN操作用于合并来自两个或更多表的数据,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN。 6. 子查询:...

    常用的sql语句总结

    以下是一些SQL语句的总结,这些语句在日常开发和数据分析中非常常见。 1. **数据定义语言(DDL)**:这部分SQL语句用于创建和修改数据库结构。 - `CREATE TABLE`:创建新表,定义列名、数据类型和其他属性。 - `...

    SQL按照日、周、月、年统计数据的方法分享

    总结一下,统计SQL语句的关键在于正确地提取日期字段,并结合聚合函数(如`SUM`)和`GROUP BY`子句来实现不同时间粒度的统计。理解并熟练运用这些技巧,能够帮助你更有效地处理时间序列数据,为业务决策提供关键洞察...

    常用数据挖掘算法总结及Python实现.pdf

    第八部分,SQL知识,介绍了SQL(结构化查询语言),它是处理关系数据库的语言,对于数据获取和初步分析至关重要。 第九部分,数据挖掘案例分析,可能涉及实际项目中的应用,如预测分析、客户细分、欺诈检测等,通过...

    面试SQL经典总结

    "面试SQL经典总结"这个主题,通常涵盖了SQL的基础概念、常用查询语句、高级功能以及在实际面试中可能遇到的问题。下面,我们将深入探讨这些关键知识点。 1. SQL基础: - 数据库模型:了解关系型数据库的基本原理,...

    sql 面试题总结 常用的sql 语句

    本文总结了 SQL 面试题的常见问题,涵盖了 SELECT 语句、数据查询、数据删除、数据复制、数据统计等多方面的知识点。通过这些问题,可以帮助读者更好地理解 SQL 语言的使用和应用。 一、SELECT 语句 * 使用 SELECT...

    sql server常用命令

    下面我们将对 SQL Server 的一些常用命令进行总结和说明。 1. 数据记录筛选 数据记录筛选是 SQL Server 中的一种基本操作,它允许我们根据一定的条件来选择数据记录。常用的数据记录筛选命令包括: * `select * ...

    2017年深圳-华为SQL总结.rar

    《2017年深圳-华为SQL总结》 在信息技术领域,SQL(Structured Query Language,结构化查询语言)是数据库管理、数据查询和更新的核心工具。这篇文档详细总结了2017年深圳华为公司在使用SQL过程中的一些关键知识点...

    通过分析SQL语句的执行计划优化SQL(总结)

    这篇博客"通过分析SQL语句的执行计划优化SQL(总结)"深入探讨了这一主题,下面将对其中的主要知识点进行详细阐述。 1. **执行计划的理解**: 执行计划是数据库管理系统在执行SQL语句之前预先生成的一种详细步骤,它...

    常用SQL操作技巧常用SQL操作技巧

    本篇文章总结了常用SQL操作技巧,涵盖复制表、拷贝表、显示文章、外连接查询、日程安排提前五分钟提醒、两张关联表删除、统计分析等多种SQL操作技巧。这些技巧可以帮助开发者解决实际问题,并提高开发效率。

    SQL优化总结,很实用

    以下是对SQL优化的总结,主要聚焦于Oracle数据库的SQL语句调优。 1. **理解执行计划**:优化SQL的第一步是理解查询的执行计划。Oracle的`EXPLAIN PLAN`可以展示SQL执行的步骤,包括表扫描方式、连接顺序、索引使用...

    SQL语句总结 SQL ORACLE

    根据给定的信息,我们可以...以上是基于提供的描述和部分代码示例所总结的SQL基础知识点,涵盖了表的创建、字段的管理、数据的增删改查以及基本的查询操作等方面。这些知识点对于理解和使用SQL进行数据库操作非常重要。

    SQL编程总结

    在本总结中,我们将深入探讨SQL编程的核心概念、语法和实际应用,旨在帮助你理解和掌握这一强大的数据处理工具。 一、SQL基础 1. 数据库与表:SQL主要用于创建、查询、更新和管理数据库中的表格。每个数据库由一个...

    mysql基本语法,增删改查大全总结,以及常用的sql语句总结

    ### MySQL基本语法精要 MySQL是一种广泛使用的开源关系型数据库管理...以上就是MySQL基本语法的总结,希望这些内容能够帮助你在日常开发和维护工作中更加得心应手。熟练掌握这些命令和技巧将大大提高你的工作效率。

    oracle常用sql整理

    本文将基于"oracle常用sql整理"的主题,深入探讨Oracle SQL的一些核心概念、语句及其实用技巧,适合初级到中级水平的学习者。 一、SQL基础 SQL是标准化的查询语言,分为DDL(Data Definition Language)、DML(Data...

    sqlserver 2008 统计信息优化

    总结来说,SQL Server 2008的统计信息优化主要涉及以下几个关键点: 1. 了解统计信息的作用及其更新机制。 2. 监控和分析执行计划,找出性能瓶颈。 3. 手动或自动更新统计信息,以适应数据变化。 4. 使用工具如...

    数据库常用sql语句

    根据给定文件的信息,我们可以总结出一系列关于数据库管理和SQL语言的关键知识点。这些知识点涉及数据库的创建、删除、表的创建与删除、数据操作语言(DML)、数据定义语言(DDL)、数据控制语言(DCL)等方面。 ##...

    考勤统计sql.pdf

    标题中的"考勤统计sql.pdf"表明这是一个关于使用SQL进行考勤统计的教程或文档,主要关注如何通过SQL查询来处理和分析考勤数据。描述部分未提供具体内容,但标签"sql cs"暗示可能涉及到SQL语言和可能是C#编程语言的...

    sql、pl/sql总结 例题

    标题与描述概述的知识点主要集中在SQL与PL/SQL的基础操作上,这包括了表的创建、修改、删除,数据的插入、更新、删除,以及复杂的查询语句。下面将对这些知识点进行详细的解释与扩展。 ### 1. 表的管理 #### 创建...

    SQL学习总结

    ### SQL学习总结:掌握核心查询技巧 SQL,作为结构化查询语言,是数据库管理与操作的基石。本文将深入解析SQL的基本查询语句,通过实际案例帮助读者理解并掌握其运用,涵盖一般查询、去重、条件筛选、模糊查询及多...

Global site tag (gtag.js) - Google Analytics