select * from dbo.orders group by custid with cube select custid ,row_number() over(order by empid) as number from orders select count(*) from order.....
分类:
数据库 时间:
2015-08-07 15:58:12
阅读次数:
151
定义:Pivot英文意思:回转运动PIVOT用于将列值旋转为列名(即行转列),UNPIVOT用于将列名转为列值(即列转行),也可以在SQLServer2000可以用聚合函数配合CASE语句实现。语法:PIVOT和UNPIVOT的语法区别在于是否有使用聚合函数PIVOT:table_source
PIVOT(
聚合函数(value_co..
分类:
其他好文 时间:
2015-07-23 14:12:09
阅读次数:
199
假设有一个要开发一个试题系统,全是不定项选择题。一道题可能有2,3,4...个答案,数据应如何设计呢?本处旨在说明问题所在,例如同类问题还有存储电话,一个人可能有多个号码等等。一、存储多值属性 反模式:创建多个列。 我们知道每列最好只存储一个值,因此先看如下设计: CREATE TABLE...
分类:
数据库 时间:
2015-07-17 18:38:13
阅读次数:
189
多行转字符串 这个比较简单,用||或concat函数可以实现 SQL Code 12selectconcat(id,username)strfromapp_userselectid||usernamestrfromapp_user字符串转多列 实际上就是拆分字符串的问题,可以使用 substr、in...
分类:
数据库 时间:
2015-07-13 11:37:20
阅读次数:
242
在做报表时,经常需要将数据表中的行转列,或者列转行,如果不知道方法,你会觉得通过SQL语句来实现非常难。这里,我将使用pivot和unpivot来实现看似复杂的功能。这个功能在sql2005及以上版本才有。引用MSDN:可以使用 PIVOT 和 UNPIVOT 关系运算符将表值表达式更改为另一个表。...
分类:
数据库 时间:
2015-07-08 18:41:12
阅读次数:
144
除了Pivot和Unpivot这两个函数,还有像CASE WHEN + 聚合函数像MAX,SUM这类的来完成。今天发现Oracle下居然有这样一个和SQL SERVER 2012以后新增的新函数叫IIF相似功能的函数叫decodeSELECT * FROM (SELECT job, ...
分类:
数据库 时间:
2015-07-08 00:31:18
阅读次数:
234
1.oracle列转行Select Guid as CheckGoodsID,goodsid,code, (Select colordesc from Color where ID = ColorID) as Color, ...
分类:
数据库 时间:
2015-07-03 12:12:07
阅读次数:
152
样例:
select * from tab1 limit 10;
结果:
id num
a 1
a 2
a 3
b 4
b 3
·····
现在想实现把id一样的数据在一条数据中展现。
结果示例:
a 1 2 3
b 4 3
实现方案有多种,在Oracle中LISTAGG函数可以满足...
分类:
其他好文 时间:
2015-06-20 18:30:34
阅读次数:
275
最近做数据处理,经常遇到需要行转列、列转行的场景,记录个非常简单实用的oracle 列转行、行转的列方法1、行转列,基础数据如下做行转列处理 处理SQLselect user_name,max(date_201501) as date_201501,max(date_201502),max(date...
分类:
数据库 时间:
2015-06-12 00:41:55
阅读次数:
254
前言:由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式。即同一个列中存储了多个属性值(具体结构见下表)。这种模式下,应用常常需要将这个列依据分隔符进行分割,并得到列转行的结果。表数据:ID Value1 tiny,small,big2 small,medium3 tiny,b....
分类:
数据库 时间:
2015-05-21 10:47:16
阅读次数:
287