MySQL 行变列

复制代码
SELECT cmoup,it_ye,SUM(aunt) FROM (

SELECT
	cmroup,
	CASE 
	
	WHEN SD_UPRICE = 0 THEN
		'buer'
	WHEN SUBSTRING(ST_DATE,1,2) = '988889'  THEN
		'cacel'
	WHEN SD_DELE >=SD_REQDATE   THEN
		'ovdue'				
	ELSE
		'other'
END AS itetype,

	OS_TY*SPRICE*S_RATE AS amount
FROM
	`biz_rp_oo` 
)	 AS tab1

GROUP BY cm_grp,ittype

通过case when 或者Sum if 语法糖把行变成列

复制代码
SELECT  

cm_gr AS itemo,

SUM(IF(SD_UPRICE = 0 ,OS_Q,0)) AS itemfer,

SUM(IF(SD_DELIVERY_DATE >=SD_REQUEST_DATE,OS_Q,0)) AS itr_due,

SUM(IF(SUBSTRING(SD_R,1,2) != '50' && SUBSTRING(SD_REQUEST_DATE,1,2) AS it

FROM biz_rso

GROUP BY cmoup
ORDER BY cmup
相关推荐
武文斌772 分钟前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
CoderIsArt9 分钟前
SQLite架构
数据库·sqlite
lixora34 分钟前
银河麒麟高级服务器操作系统(ADM64 版)V10(SP1)搭建 Oracle 19c RAC
数据库
郝学胜-神的一滴38 分钟前
使用Linux的read和write系统函数操作文件
linux·服务器·开发语言·数据库·c++·程序人生·软件工程
哲Zheᗜe༘1 小时前
了解学习MySQL数据库基础
数据库·学习·mysql
咋吃都不胖lyh1 小时前
MySQL 多表查询中,联合查询(UNION) 和子查询
mysql·数据分析
Miqiuha1 小时前
sql的表join怎么学?
数据库·sql
TiAmo zhang1 小时前
调查问卷管理系统开发 │ 系统功能概述
数据库·sqlserver
problc2 小时前
PostgreSQL pg_trgm中文模糊匹配优化技巧
数据库·postgresql
我真的是大笨蛋2 小时前
Redis的String详解
java·数据库·spring boot·redis·spring·缓存