1、聚合函数行转列:
select name,sum(case when subName='语文' then grade else 0 end) 语文,
sum(case when subName='数学' then grade else 0 end) 数学,
sum(case when subName='英语' then grade else 0 end) 英语
from t_user group by name
2、统计异常个数
select device_ip,channel_name,
SUM(IF(b.secondValue>0 AND b.secondValue<=60,1,0)) 60s内,
SUM(IF(b.secondValue>60 AND b.secondValue<=180,1,0)) 1到3m,
SUM(IF(b.secondValue>180 AND b.secondValue<=300,1,0)) 3到5m,
SUM(IF(b.secondValue>300 AND b.secondValue<=600,1,0)) 5到10m,
SUM(IF(b.secondValue>600 AND b.secondValue<=30*60,1,0)) 10至30m内,
SUM(IF(b.secondValue>30*60 AND b.secondValue<=60*60,1,0)) 30至60m内,
SUM(IF(b.secondValue>1*60*60 AND b.secondValue<=3*60*60,1,0)) 1至3h内,
SUM(IF(b.secondValue>3*60*60 AND b.secondValue<=5*60*60,1,0)) 3至5h内,
SUM(IF(b.secondValue>5*60*60 AND b.secondValue<=8*60*60,1,0)) 5至8h内,
SUM(IF(b.secondValue>8*60*60 AND b.secondValue<=12*60*60,1,0)) 8至12h内,
SUM(IF(b.secondValue>12*60*60 AND b.secondValue<24*60*60 - 1,1,0)) 12至24h内,
SUM(IF(b.secondValue>=24*60*60 - 1 ,1,0)) 24h及以上
from
(select td.device_ip,tdc.channel_name,a.secondValue
from (
select *,TIMESTAMPDIFF(SECOND,CONCAT(record_lack_date,' ',record_lack_starttime),CONCAT(record_lack_date,' ',record_lack_endtime)) secondValue
from t_device_remote_record_exception where record_lack_date between '2016-06-20' and '2016-07-19'
) a LEFT JOIN t_device td ON a.device_id=td.device_id
LEFT JOIN t_device_channel tdc ON a.device_id=tdc.device_id and a.channel_number=tdc.channel_number
) b
group by device_ip,channel_name
分享到:
相关推荐
Sql记录集生成脚本工具是一种实用程序,专为数据库管理员和开发人员设计,它能够方便地将数据库中的记录集转换为SQL脚本。这个工具的主要功能是将表的数据转化为一系列的INSERT语句,使得用户可以轻松地备份数据,...
超经典SQL语句全集涵盖了数据库管理、表操作、数据备份、索引、视图以及高级查询技巧等多个方面。在数据库管理中,SQL语句允许我们创建、删除和备份数据库。例如,`CREATE DATABASE` 用于创建新的数据库,`DROP ...
本资源“经典SQL语句函数大全”聚焦于SQL中的各种函数,旨在帮助用户掌握SQL的核心功能并提升数据库操作效率。** **一、SQL基本概念** SQL分为DDL(Data Definition Language)和DML(Data Manipulation Language)...
SQL查找某记录的前后N条数据 SQL查找某记录的前后N条记录
根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在SQL Server环境中查询特定时间段内的记录,尤其是本月、本周、本季度以及本年的记录。以下是对这些知识点的详细阐述: ### 一、...
以下是一些经典SQL语句及其详细解释: 1. **数据查询**: - `SELECT`:用于从表中选取数据,基本语法是`SELECT column1, column2 FROM table_name;` - `WHERE`:用于设定查询条件,例如`SELECT * FROM table_name...
为了有效地管理和解决这个问题,我们可以利用Mybatis的拦截器机制来自动检测并记录慢SQL。下面我们将详细介绍如何通过Mybatis拦截器实现这一功能。 首先,了解Mybatis拦截器的基本概念。Mybatis拦截器(Interceptor...
### 经典SQL面试题解析 #### 颇具挑战性的SQL面试题——删除冗余记录 **题目背景与分析** 在本题中,我们面对的是一个常见的问题:如何有效地处理数据库中的冗余数据。在实际应用中,由于各种原因(如数据导入...
在“基于SQL server 2008数据库的ifix操作记录教程.docx”文档中,你将找到详细的操作步骤,涵盖了如何设置ifix与SQL Server的连接,如何配置ifix以记录其对数据库的每一次操作,以及如何确保这些记录的完整性。...
组态王报警记录存储到SQL数据库中 组态王是一种流行的工业自动化软件,广泛应用于制造业、能源、交通等领域。该软件可以实现实时数据采集、监控和控制,提高生产效率和产品质量。但是,组态王的报警记录功能缺乏...
《经典SQL语句大全》这份资源,正如其名,是一个包含丰富SQL语言知识的文档集合。SQL,全称Structured Query Language,即结构化查询语言,是用于管理关系数据库的标准语言。MSSQL 2000是微软公司推出的一款关系型...
### SQL查询重复记录方法大全 在数据库管理与维护过程中,查询和处理重复记录是一项非常重要的工作。本文将详细介绍几种常见的SQL查询重复记录的方法,并提供具体的示例代码。 #### 方法一:查询具有重复值的记录...
本资源“经典sql语句”聚焦于SQL的经典面试题及其解答,旨在帮助求职者特别是针对SQL Server岗位的应聘者准备面试。以下将详细解析SQL的一些核心知识点,并结合可能的面试问题进行阐述。 1. **选择查询(SELECT)**...
SQL 语句查询本周记录、本月记录、本季度记录、本年记录是数据库查询中常见的操作。本文将为您提供 MySQL 和 SQL Server 两种数据库管理系统的查询语句,帮助您快速实现这些查询操作。 查询本周记录 MySQL 中,您...
### 经典SQL语句详解 #### 数据库操作(DDL) **创建数据库:** ```sql CREATE DATABASE database-name; ``` 此命令用于创建新的数据库。`database-name`为要创建的数据库名称。 **删除数据库:** ```sql DROP ...
经典SQL面试练习50多道题(含答案)是SQL开发人员面试的必备知识之一,本文档总结了多种SQL面试题,涵盖了多表查询、删除冗余数据、查询符合条件的记录等多方面的知识点。下面对这些知识点进行总结和分析: 一、多...
本文将深入探讨如何使用SQL语句来删除最老的记录以及如何根据特定条件进行记录删除,我们将详细解析三种不同的方法,并通过实际代码示例来加深理解。 ### 方法一:使用子查询删除最老记录 第一种方法是利用子查询...
了解SQL的基本语法是掌握Oracle SQL查询的前提,包括SELECT语句用于查询数据,INSERT语句用于插入新记录,UPDATE语句用于修改已有记录,而DELETE语句则用于删除数据。 在Oracle SQL查询中,有几种常见的高级查询...
在SQL(Structured Query Language)的世界里,掌握经典且实用的语句是提升数据库管理与数据分析能力的关键。SQL作为关系型数据库的语言,广泛应用于数据查询、更新、插入和删除等操作。以下是对经典SQL语句的学习...
在这个“经典sql语句”集合中,我们可以期待看到一系列实用且高效的SQL命令,涵盖了数据库的基础操作到高级功能。下面将详细介绍一些常见的SQL知识点。 1. **基本查询操作**: - `SELECT`:用于从表中选取数据,是...