最近用到的 sql 统计操作
统计操作
1、分组统计group by
select id,name,count(*) as '总数' from test1 group by id,name --group by 分组字段需要和显示字段一至 并且可以直接使用count(*)统计各有多少数量
2、case when 对数据进行分组
select
case when (id<'1') then '1' when(id>='1' and id<='3') then '2'
else '3'
end 'work_age'
from test1
group by
case when (id<'1') then '1' when(id>='1' and id<='3') then '2'
else '3' --group by 跟前面的一样。
end
3、综合汇总操作
1、直接分类统计
selectcount(*) as 总人数,sum(case when gender=1 then 1 else 0 end) as '男生人数', --男生为1 女生为2sum(case when gender=2 then 1 else 0 end) as '女生人数'from test1
2、分组后在进行分类统计
select id,
count(*) as 总人数,sum(case when id='1' then 1 else 0 end) as '男生人数', --男生为1 女生为2
sum(case when id='2' then 1 else 0 end) as '女生人数',
sum(case when id not in ('1','2') then 1 else 0 end) as '不男不女人数'
from test1
group by id--这里的ID可以当成班级
4、汇总条件及运行时间
--通过子查询进行汇总select userid,username,count(*) from (select userid,username,cdid,cdname from test2 where cdid='110') agroupby userid,username--0.12S--直接通过关联查询后进行汇总select userid,username,count(*) from test1 as a left join test2 on a.userid=b.userid where b.cdid='110' group by a.userid,a.username--0.23S--上面这两个汇总在不同情况下,运行时间各有长段,在当前情况下选择第一种比较好。--在使用时根据不同情况选择不同的方式进行汇总。
最近用到的 sql 统计操作的更多相关文章
- SQL用法操作合集
SQL用法操作合集 一.表的创建 1.创建表 格式: 1 CREATE TABLE 表名 2 (列名 数据类型(宽度)[DEFAULT 表达式][COLUMN CONSTRAINT], 3 ... ...
- SQLite支持的SQL数据操作
事务处理 Posted on 2013 年 1 月 1 日 by 林溪 事务为一组SQL命令的集合,这些SQL命令在执行时不可进行分割,即要么全部执行这些SQL命令,要么一个都不进行执行,事务操作 ...
- SQL语句操作大全
SQL语句操作大全 本文分为以下六个部分: 基础部分 提升部分 技巧部分 数据开发–经典部分 SQL Server基本函数部分 常识部分 一.基础 1.说明:创建数据库CREATE DATABAS ...
- MS SQL统计信息浅析下篇
MS SQL统计信息浅析上篇对SQL SERVER 数据库统计信息做了一个整体的介绍,随着我对数据库统计信息的不断认识.理解,于是有了MS SQL统计信息浅析下篇. 下面是我对SQL Serve ...
- SQL统计——按照各种维度
在SQLserver中可以按照各种维度进行统计,实现与EXCLE一样强大的功能. --========================== --Blog:<奔跑的金鱼> --Desc:&l ...
- sql server操作2:查询数据库语句大全【转】
注:以下操作均建立在上篇文章sql Server操作1的数据基础之上 一.实验目的 熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询 二.实验内容和要求 使用SQL查询分析器查询数据,练 ...
- SQL写操作 设置内容 (数组转字符串)
SQL写操作 设置内容 (数组转字符串) SQL set内容 SQL操作数组转字符串 SQL写操作 set内容 (数组转字符串) [ 封装方法 ] function getSqlSet( $data ...
- SQL 数据操作(实验六)
SQL 数据操作 emp.dept 目标表结构及数据 INSERT 命令的使用与结果验证 2.1把一名新来雇员信息插入到EMP表中:雇员号:1011 姓名: 王晓明 入职日期:今天 ```insert ...
- SQL字符串操作汇总
SQL字符串操作汇总 --将字符串中从某个字符开始截取一段字符,然后将另外一个字符串插入此处 select stuff('hello,world!',4,4,'****') --返回值hel*** ...
随机推荐
- 【JAVA】内部类,内部接口
内部类: 内部类可以很好的实现隐藏,一般的非内部类,是不允许有 private 与protected权限的,但内部类可以 内部类拥有外围类的所有元素的访问权限 可是实现多重继承 可以避免修改接口而实现 ...
- JavaScript -- FileSystemObject
-----056-FileSystemObject.html----- <!DOCTYPE html> <html> <head> <meta http-eq ...
- 详解C#泛型(三)
一.前面两篇文章分别介绍了定义泛型类型.泛型委托.泛型接口以及声明泛型方法: 详解C#泛型(一) 详解C#泛型(二) 首先回顾下如何构建泛型类: public class MyClass<T&g ...
- php使用 utf8_encode 来将特殊字符转成 utf8
如果在接受 $_POST 或 $_GET 时发生类似的错误报告:SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF6te ...
- 在Linux上进行内核参数调整
在Solaris上,使用工具mdb就可以直接修改内核内存里的内容.而在Linux上,则通常使用命令sysctl(8)做类似的事情. 本文以Fedora为例,介绍如何在Linux上进行内核参数调整. 常 ...
- Spring事务传播属性介绍(三).Nested
Required.Required_New传播属性分析传送门:https://www.cnblogs.com/lvbinbin2yujie/p/10259897.html Mandatory.Neve ...
- javascript 易错点、难点笔记
本文主要记录在学习过程中遇到的JavaScript难点或者容易疏忽的细节,也方便自己日后翻阅学习. 1.arr.length === + arr.length arr.length === + arr ...
- C# 在项目中配置Log4net
我们介绍一下在项目中配置log4net,是Apache基金会旗下的. 无论在什么环境中,配置log4net的逻辑都一样. 1)文件配置 首先在项目加载文件中,配置log4net加载项. 在Web项目中 ...
- AutoMapper之嵌套映射
8.嵌套映射 嵌套映射就是一个类中包含有另一个类,这种情况下我们应该如何映射呢? /// <summary> /// 源对象 /// </summary> public cla ...
- Java基础——详尽说明try-catch-finally的用法
问:Java异常处理机制,理解了吗?Java异常处理,真的掌握了吗?什么是自定义异常?catch体里遇到return 是怎么处理?finally 体里有return怎么处理?catch 和 final ...
