SQL LEN() 函数 ,case when,聚合函数的使用方法

SELECT aa.[User_Id],cc.[User_Name],dd.Name AS DepName,aa.Module_Id,aa.Module_Name,

SUM(CASE aa.Operate_Type WHEN ‘2‘ THEN OperateNum END ) AS ‘AddNum‘,

SUM(CASE aa.Operate_Type WHEN ‘3‘ THEN OperateNum END ) AS ‘EditNum‘ ,

SUM(CASE aa.Operate_Type WHEN ‘4‘ THEN OperateNum END ) AS ‘DelNum‘

FROM (

SELECT a.[User_Id],a.Module_Id,c.Module_Name,a.Operate_Type,COUNT(1) AS OperateNum FROM dbo.Sys_User_Log AS a

INNER JOIN dbo.Sys_Module AS c ON a.Module_Id = c.Module_Id

WHERE LEN(a.Module_Id) = 6 AND (a.Operate_Type =‘2‘ OR a.Operate_Type =‘3‘ OR a.Operate_Type =‘4‘)//LEN() 函数

GROUP BY a.[User_Id],a.Module_Id,c.Module_Name,a.Operate_Type

) AS aa

INNER JOIN dbo.Sys_User AS cc ON aa.[User_Id] = cc.[User_Id]

INNER JOIN dbo.Sys_DepInfo AS dd ON cc.DepInfo_Id = dd.Id

GROUP BY aa.[User_Id],cc.[User_Name],dd.Name,aa.Module_Id,aa.Module_Name

ORDER BY aa.[User_Id],aa.Module_Id

时间: 2024-10-03 00:39:45

SQL LEN() 函数 ,case when,聚合函数的使用方法的相关文章

SQL LEN() 函数 ,case when,聚合函数的用法

SELECT aa.[User_Id],cc.[User_Name],dd.Name AS DepName,aa.Module_Id,aa.Module_Name, SUM(CASE aa.Operate_Type WHEN '2' THEN OperateNum END ) AS 'AddNum', SUM(CASE aa.Operate_Type WHEN '3' THEN OperateNum END ) AS 'EditNum' , SUM(CASE aa.Operate_Type WH

窗口聚合函数与分组聚合函数的异同

窗口聚合函数与分组聚合函数的功能是相同的:唯一不同的是,分组聚合函数通过分组查询来进行,而窗口聚合函数通过OVER子句定义的窗口来进行. --<T-SQL性能调优秘笈---基于SQL Server2012窗口函数>2.1.1窗口聚合函数描述

SQL语句汇总(三)——聚合函数、分组、子查询及组合查询 - Darly

–COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计算列的最小值 首先,创建数据表如下: 执行列.行计数(count): 标准格式 SELECT COUNT(<计数规范>) FROM <表名> 其中,计数规范包括: - * :计数所有选择的行,包括NULL值: - ALL 列名:计数指定列的所有非空值行,如果不写,默认为ALL: - DISTINCT 列名:计数指定列的唯一非空值行. 例,计算班里共有多少学生:

SQL server 模糊查询 排序 聚合函数 数学函数 字符串函数 时间日期函数 转换、函数转换

create database lianxi831  --创建数据库gouse lianxi831  --引用数据库gocreate table xs  --插入表格( code int not null,  --写入内容 name varchar(10), cid varchar(18), banji varchar(10), yufen decimal(18,2), shufen decimal(18,2), yingfen decimal(18,2),)goinsert into xs v

SQL SERVER 2005允许自定义聚合函数-表中字符串分组连接

不多说了,说明后面是完整的代码,用来将字符串型的字段的各行的值拼成一个大字符串,也就是通常所说的Concat 例如有如下表dict  ID  NAME  CATEGORY  1 RED  COLOR   2 BLUE COLOR  3 APPLE  FRUIT  4 ORANGE FRUIT 执行SQL语句:select category,dbo.concatenate(name) as names from dict group by category. 得到结果表如下  category  

【2017-03-12】SQL Sever 子查询、聚合函数

一.子查询 把一条查询语句,当做值来使用子句的查询结果必须是一列子句可以返回多行数据,但必须是一列 select * from 表名 where 列名 =,>,<(select * from 表名 where 列名...) in/not in 列名 in(值,值,值)表示取值在后面提供的值以内,相当于 列名=值 or 列名=值 or 列名=值 例:select * from car where oil=7.4 or oil=8 or oil=8.3 与 select *from car whe

Spark 系列(十一)—— Spark SQL 聚合函数 Aggregations

一.简单聚合 1.1 数据准备 // 需要导入 spark sql 内置的函数包 import org.apache.spark.sql.functions._ val spark = SparkSession.builder().appName("aggregations").master("local[2]").getOrCreate() val empDF = spark.read.json("/usr/file/json/emp.json"

sql中的 开窗函数over() 聚合函数 排名函数

开窗函数与聚合函数一样,都是对行的集合组进行聚合计算.它用于为行定义一个窗口(这里的窗口是指运算将要操作的行的集合),它对一组值进行操作,不需要使用GROUP BY子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列.反正我理解这个函数已经使用好子查询或者是其它方式求得聚合列的值给我合并. 以书中的例子一步一步来介绍,假设要计算所有人员的总数,我们可以执行下面的SQL语句: SELECT COUNT(FName) FROM T_Person 这种方式比较直接,只返回一个聚合列的值,没有任

Android数据库高手秘籍(八)——使用LitePal的聚合函数

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/40614197 在上一篇文章当中,我们已经把LitePal查询操作的所有用法都学习完了,很显然,LitePal帮我们提供了非常强大的查询API,使得我们可以极度轻松地完成各种类型的查询.但是呢,在SQL语句当中,有一种查询是比较特殊的,就是聚合函数查询,它不像传统查询一样是将表中的某些列的数据查询出来,而是将查询结果进行聚合和统计,最终将统计后的结果进行返回.因此,任何一个关系型数