XJrain表里存放每天的雨量,我想一次显示过去一天,过去二天,过去三天的雨量统计,sql语句该如何写啊?
- 浏览: 147689 次
- 性别:
- 来自: 深圳
文章分类
最新评论
select 站名, sum(case when 日期 > 20090829 then 雨量 else 0 end ) 雨量1, sum(case when 日期 > 20090830 then 雨量 else 0 end ) 雨量2, sum(case when 日期 > 20090831 then 雨量 else 0 end ) 雨量3, from dbo.XJrain group by 站名
有表如下
姓名 年度 科目 成绩
张三 2008 语文 95
李四 2009 数学 100
李四 2007 语文 50
张三 2010 语文 99
要查询成
姓名 年度 语文 数学
张三 2008 95 0
张三 2010 99 0
李四 2007 50 0
李四 2009 0 100
姓名 年度 科目 成绩
张三 2008 语文 95
李四 2009 数学 100
李四 2007 语文 50
张三 2010 语文 99
要查询成
姓名 年度 语文 数学
张三 2008 95 0
张三 2010 99 0
李四 2007 50 0
李四 2009 0 100
select names,dt,
sum(case when str1='语文' then num else 0 end) As '语文' ,
sum(case when str1='英语' then num else 0 end) As '英语' ,
sum(case when str1='数学' then num else 0 end) As '数学' ,
sum(case when str1='历史' then num else 0 end) As '历史'
from dbtest group by names,dt
sum(case when str1='语文' then num else 0 end) As '语文' ,
sum(case when str1='英语' then num else 0 end) As '英语' ,
sum(case when str1='数学' then num else 0 end) As '数学' ,
sum(case when str1='历史' then num else 0 end) As '历史'
from dbtest group by names,dt
发表评论
-
数据归档的方法
2016-02-21 18:35 483--数据归档的方法create or replace pr ... -
ORACLE跟新数据的性能提升(通过中间表)
2016-02-21 18:35 596--更新历程权力值--1.查询效率慢的update FW_ ... -
JBPM的表相关操作
2016-02-21 18:35 542--通过流程的编码获取该对应的流程定义 select * ... -
一套oracle面试题笔试题以及参考答案
2014-12-22 23:35 731http://blog.sina.com.cn/s/blog ... -
oracle循环语句的几种使用方法(转载)
2014-12-22 23:32 583主要有以下五种循环: ... -
左连接右连接
2015-03-01 22:36 528对于外连接:Oracle中可以使用“(+) ”来表示,9i ... -
复制一个表到另一个表、视图、临时表
2014-10-12 21:26 432Oracle数据结构软件测试SQL 创建一个表n ... -
将EXCEL导入到数据库
2014-07-30 20:51 480用PLSQL Developer工具。 1 ... -
关于oracle with as用法
2014-06-26 20:32 814with as语法–针对一个别名with tmp as (s ... -
tomcat配置数据库连接池
2014-05-04 21:21 6191.所有的tomcat项目共用一个连接池配置:在tomcat ... -
关于SQL优化方面的建议
2014-01-29 23:13 5452014-01-25 SQL优化主 ... -
connect by prior start with
2014-01-08 22:48 460在oracle中通过connect by prior来实 ... -
from v sql v session where sqlid = sqlid
2014-01-08 22:44 553--博客,细节可以进去看 http://blog.csdn ... -
统计支付成功金额最大的前三十个供应商1-5w等支付笔数.sql
2013-12-12 15:34 587select a.payeename,(select co ... -
Oracle中查看已执行sql的执行计划
2013-12-10 16:43 528有时候我们可能会希望查看一条已经执行过的sql的执行计划,常 ... -
统计失效视图
2013-09-18 19:59 616--统计失效视图个数和视图名称 (0 个失效) ... -
ORA-00054 的解决方法
2013-07-12 11:52 973系统有一个不用的索引,想删除这个索引, SQL> ... -
防止 SQL注入
2013-01-30 13:52 627web.xml 中配置如下 <filter-map ... -
SQL 处理
2012-12-17 16:33 758--查询数据库字段相加,同时对金额字段进行处理 and ... -
同义词 和 DBlink 的相关SQL
2012-11-28 17:39 723drop database link m8_link;cre ...
相关推荐
在 SQL 查询语言中,`CASE WHEN` 结构是一种非常有用的工具,可以用来根据条件返回不同的值。它的工作原理类似于编程语言中的 `if...else` 语句,但在 SQL 中用于创建动态列或进行复杂的条件判断。 #### 基本语法 ...
在SQL Server 2000中,我们可以使用CASE WHEN语句和MAX聚合函数来实现行转列操作。下面是一个示例代码: ```sql select 姓名 as 姓名, max(case 课程 when '语文' then 分数 else 0 end) 语文, max(case 课程 ...
sql语句将行转换成列 declare @sql varchar(8000) set @sql = 'select 物料代码' select @sql = @sql + ',sum(case 地区 when '''+地区+''' then 数量 end) ['+地区+']' + ',sum(case 地区 when '''+地区+'''...
### SQL语句实现表的行列转换,行转列,列转行 在处理数据库时,我们经常需要对数据进行各种变换以适应不同的分析需求。其中,“行列转换”就是一种非常实用的功能,它可以帮助我们将表中的行数据转换为列数据,...
在SQL Server中,"行转列"是一种常见的数据操作,它可以帮助我们把表格中的多行数据转换成一列,或者将某一列的数据转换为多列显示。这种技术在数据分析、报表制作以及信息展示中非常实用。本文将详细介绍SQL Server...
### SQL 行转列详解 #### 一、什么是行转列? 在数据库操作中,“行转列”(Pivot)是一种常见的数据变换需求。它指的是将原始数据表中的某些字段从行的形式转换为列的形式,从而达到不同的数据展示或分析目的。...
标题与描述均提到“SQL行转列解决方案”,这主要指的是在SQL中将数据表中的行数据转换为列数据的一种操作技巧,通常应用于需要对多行数据进行汇总展示或数据分析的场景。这种转换对于数据报告、统计分析等业务需求至...
在Oracle数据库中,`WHERE`子句是SQL查询语句的一部分,用于指定查询条件,而`CASE WHEN`语句则是一种条件表达式,允许我们基于不同的条件返回不同的值。将`CASE WHEN`嵌套在`WHERE`子句中,可以实现更复杂的逻辑...
MySQL 虽然没有内置的行转列和列转行函数,但通过 CASE、GROUP_CONCAT、UNION ALL 和 JOIN 等 SQL 语句,我们可以灵活地对数据进行转换,满足不同的数据分析需求。在实际应用中,应根据数据的特性和业务需求选择合适...
在SQL(结构化查询语言)中,行转列是一种常见的数据转换操作,它将数据库表中的多行数据转换为单列或多列显示。这在数据分析、报表制作或数据展示时非常有用。本教程将深入探讨如何在SQL中实现这一功能。 首先,...
在`GROUP BY`语句中,`CASE WHEN`可以与聚合函数结合使用,对分组后的数据进行进一步处理。如示例所示,计算红包金额(`redpackmoney`)的总和,并根据`isCheck`字段的值进行分类: ```sql SELECT SUM(redpackmoney...
在SQL中,将数据从行转换为列的操作称为“行转列”。这一操作在实际业务场景中非常常见,比如在报表生成、数据分析等场景下,往往需要将原本纵向排列的数据转化为横向显示,以便于分析或者展示。根据题目提供的信息...
T-SQL(Transact-SQL)是微软SQL Server所使用的扩展SQL语言,它提供了丰富的数据处理功能,包括行转列。在SQL Server中,有两种主要的方法可以实现这一转换: 1. 使用CASE语句: CASE语句是SQL中一个非常强大的...
除了Pivot,还可以使用CASE语句结合GROUP BY来实现行转列。CASE语句可以用来根据条件返回不同的值,非常适合处理分类数据。以下是一个基本示例: ```sql SELECT column1, SUM(CASE WHEN condition1 THEN value END...
总结,SQL中的行转列技术主要利用`CASE`表达式配合聚合函数(如`MAX`)实现。静态转换适用于已知列数的情况,而动态转换则能应对未知数量的列,可以根据实际需求灵活选择。这两种方法在数据报表生成、数据整理和分析...
以上介绍了几种常用的行转列方法,包括使用 `CASE WHEN` 与 `MAX`、仅使用 `CASE WHEN`、多表联接以及子查询。每种方法都有其适用场景,具体选择哪一种取决于实际需求和数据特点。通过这些方法,我们可以更加灵活...
CASE表达式通常在SELECT语句中用来根据特定条件为数据列创建新的计算字段。例如,你可以根据书籍的价格范围给价格打标签。如以下示例所示,当价格为空时,标签为"Unpriced";价格小于10,则为"Bargain";介于10到20...