mysql行转列sql函数_sql动态行转列的两种方法
第一种方法:
代码如下:
select *from ( select Url,case when Month=01 then ‘1月’ when Month=02 then ‘2月’ when Month=03 then ‘3月’ when Month=04 then ‘4月’ when Month=05 then ‘5月’ when Month=06 then ‘6月’ when Month=07 then ‘7月’ when Month=08 then ‘8月’ when Month=09 then ‘9月’ when Month=10 then ‘ 10月’ when Month=11 then ’11月’ when Month=12 then ‘ 12月’
end month,Quality from (
select Url,DATENAME(M,AuditingTime)Month,SUM(Quality) Quality from tb_order as a left join tb_WebSiteInfo as b on a.WebSiteInfoID=b.ID left join tb_OrderList as c on c.OrderID=a.ID where AuditingTime>’2013-01-01′ and b.ID>0 and Auditing=2
group by Url,DATENAME(M,AuditingTime) )as h ) as hh
pivot ( sum(Quality) for month in([1月],[2月],[3月],[4月],[5月],[6月],[7月],[8月],[9月],[10月],[11月],[12月])) as a
第二种方法:
代码如下:
declare @sql varchar(8000)
select @sql = isnull(@sql + ‘,’ , ”) + ‘[‘+CONVERT(varchar(7),AuditingTime,20)+’]’
from tb_order as a left join tb_WebSiteInfo as b on a.WebSiteInfoID=b.ID left join tb_OrderList as c on c.OrderID=a.ID where AuditingTime>’2013-01-01′ and b.ID>0 and Auditing=2
group by CONVERT(varchar(7),AuditingTime,20) print @sql declare @sql2 varchar(8000)=” set @sql2=’ select *from (
select Url, CONVERT(varchar(7),AuditingTime,20) AuditingTime,SUM(Quality) Quality from tb_order as a left join tb_WebSiteInfo as b on a.WebSiteInfoID=b.ID left join tb_OrderList as c on c.OrderID=a.ID where b.ID>0 and Auditing=2
group by Url, CONVERT(varchar(7),AuditingTime,20)
) as hh pivot (sum(Quality) for AuditingTime in (‘ + @sql + ‘)) b’
print @sql2
exec(@sql2)
您可能感兴趣的文章:mysql 行转列和列转行实例详解sql语句实现行转列的3种方法实例SQLServer行转列实现思路记录MySQL存储过程中使用动态行转列mssql 数据库表行转列,列转行终极方案Sql Server 2000 行转列的实现(横排)SQL查询语句行转列横向显示实例解析table 行转列的sql详解SQL行转列和列转行代码详解SQL基础教程之行转列Pivot函数
mysql行转列sql函数_sql动态行转列的两种方法相关推荐
- mysql行转列sql函数_SQL 将行转化为列实现列的动态更新
现有数据表: codenames type flag zhao a y zhao b n zhao c y li a n li ...
- mysql行转列sql函数_SQL之行转列Pivot函数
未来的一个月时间中,会总结一系列SQL知识点,一次只总结一个知识点,尽量说明白,下面来说说SQL 中常用Pivot 函数(这里是用的数据库是SQLSERVER,与其他数据库是类似的,大家放心看就好) ...
- my sql四舍五入_SQL查询四舍五入的示例及两种方法
方法1: SELECT CAST('123.456' as decimal) 将会得到 123(小数点后面的将会被省略掉). 如果希望得到小数点后面的两位. 则需要把上面的改为 SELECT CAST ...
- java校验码的设计_Java动态验证码单线设计的两种方法
1.java的动态验证码我这里将介绍两种方法: 一:根据java本身提供的一种验证码的写法,这种呢只限于大家了解就可以了,因为java自带的模式编写的在实际开发中是没有意义的,所以只供学习一下就可以了 ...
- c语言中fact函数怎么调用,C语言程序题: 1、编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现...
点击查看C语言程序题: 1.编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现具体信息 答:int fac(int n) //非递归{int f=1; for(;n;) ...
- mysql如何实现树状结构_实现树状结构的两种方法
实现树状结构的两种方法 实现树状结构的两种方法 1.递归法 递归是指在函数中显式的调用它自身. 利用递归法实现树状结构的特点是写入数据速度较快,显示速度较慢(在树的分支/层次较多的情况下尤其明显).适 ...
- mysql中逗号前的字符串_MySql逗号拼接字符串查询的两种方法
下面两个函数的使用和FIND_IN_SET一样,使用时只需要把FIND_IN_SET换成FIND_PART_IN_SET或FIND_ALL_PART_IN_SET 例如某字段里是为1,2,3,4,5 ...
- 动态修改dom node的两种方法性能比较
Created by Jerry Wang, last modified on Sep 25, 2014 测试代码: <html> <script src="C:\User ...
- vue项目动态设置浏览器标题title两种方法
各位铁汁们,老步骤先效果图奉上 方法一.使用插件vue-wechat-title来设置浏览器动态标题 第一步:安装插件 1. npm vue-wechat-title --save 第二步:在全局ma ...
最新文章
- 深度学习实现缺陷检测
- plotly基于dataframe数据绘制股票K线图并过滤非交易时间
- (笔试题)和0交换的排序
- 6工程文件夹作用_data_dragon数据工程小工具收集
- CSS3常用选择器(三)
- 内核中的UDP socket流程(1)
- [数据恢复答疑]用partition manager导致资料丢失怎么办?
- cityengine修改规则贴图
- 好玩的C语言大全,好玩的c语言程序!
- 计算机基础知识题库pdf,计算机基础知识题库完整.pdf
- 钉钉群机器人关键词自动回复_自动化运维平台Spug测试
- airtest web 录制滑块_AirTest学习四,录制Web测试脚本
- melp算法matlab,svpwm过调制算法研究与实现 [MELP声码器的算法研究及实现]
- 英语学习回炉之绕口令
- OA系统实施:理清OA需求很关键
- EasyAr实现图片识别
- c语言 字符转二进制输出,C语言 如何把一个ASCII码转换为二进制输出?
- Redis容量预估工具
- 蓝桥杯scratch编程题(2)
- GemBox.Pdf v15Crack
热门文章
- typedef,结构体,共用体,联合体
- python求txt文件内平均值_使用Python计算.txt文件中的数字的平均值
- 前端面试——初(H)入(T)江(M)湖(L)
- 【转】linux tar.gz zip 解压缩 压缩命令
- 移动端自动化==什么是Appium
- 《IPv6安全》——1.7 推荐读物和资料
- 对大学 IT 专业教育的反馈
- 猫叫老鼠跑的事件例子
- Java继承、重写与重载 笔记
- Python中operator模块的操作