数据库

 首页 > 数据库 > Oracle > ORACLE一个简单实用的对数据进行行列转换并统计的SQL语句

ORACLE一个简单实用的对数据进行行列转换并统计的SQL语句

分享到:
【字体:
导读:
         摘要:ORACLE一个简单实用的对数据进行行列转换并统计的SQL语句假设数据库中有张美女表,现需要将表中的数据以列体征中单元格里的值作为新列、列姓名作为分组条件,来进行行列转换并对数据进行统计。www.2cto.com姓... SyntaxHighlighter.all(); ...

ORACLE一个简单实用的对数据进行行列转换并统计的SQL语句
ORACLE一个简单实用的对数据进行行列转换并统计的SQL语句
 
假设数据库中有张“美女”表,现需要将表中的数据以列“体征”中单元格里的值作为新列、列“姓名”作为分组条件,来进行行列转换并对数据进行统计。
  www.2cto.com  
姓名        体征       数值 
--------- ---------- -------- 
美女1       身高       1.60 
美女1       体重       60 
美女1       胸围       79 
美女2       身高       1.69 
美女2       体重       55 
美女2       胸围       77 
 
转换为如下效果:
姓名    身高     体重      胸围 
--------- ---------- -------- 
美女1   1.60     60        79 
美女2   1.69     55        77 
 
 SQL语句:  www.2cto.com  
 
SELECT 姓名,
CASE WHEN 体征='身高' THEN MAX(数值) END 身高,
CASE WHEN 体征='体重' THEN MAX(数值) END 体重,
CASE WHEN 体征='胸围' THEN MAX(数值) END 胸围 
FROM 
美女 GROUP BY 姓名,体征
 
该SQL语句将“体征”列中单元格值为“身高”、“体重”、“胸围”作为新的列,并将同一行中“数据”列里面的数值(在此可对数值进行统计)作为这些这些新列中的值按“姓名”分组来进行展示。
 
 
 
作者 悠游人生
ORACLE一个简单实用的对数据进行行列转换并统计的SQL语句
分享到:
oracle优化器与sql查询执行顺序
oracle优化器与sql查询执行顺序 oracle优化器与sql查询执行顺序      Oracle在执行一个SQL之前,首先需要看一下SQL的执行计划,然后在按照执行计划执行SQL,分析执行计划的工作是由优化器来执行的,在不同的条件下,一个SQL可能存在多条执行计划,但是在某个特定的时间点,特定的环境下,一定只有一种执行计划是最优的。...
plsql遇到乱码的问题
plsql遇到乱码的问题 plsql遇到乱码的问题   查看一些数据库服务器和客户端的额字符集有没有不同的: [html] select * from nls_database_parameters;   select * from nls_instance_parameters;   select * from v$nls_parameters t where t.PARAMETER ='NLS_LANGUAGE' or t.PARAMETER ='NLS_CHARACTERS...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……