-- ----------------------------
-- Table structure for `TabName`
-- ----------------------------
DROP
TABLE
IF EXISTS `TabName`;
CREATE
TABLE
`TabName` (
`Id`
int
(11)
NOT
NULL
AUTO_INCREMENT,
`
Name
`
varchar
(20)
DEFAULT
NULL
,
`
Date
`
date
DEFAULT
NULL
,
`Scount`
int
(11)
DEFAULT
NULL
,
PRIMARY
KEY
(`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=9
DEFAULT
CHARSET=utf8;
-- ----------------------------
-- Records of TabName
-- ----------------------------
insert into `tabname` (`Id`, `Name`, `Date`, `Scount`) values('2','微信','2013-09-01','20000'); insert into `tabname` (`Id`, `Name`, `Date`, `Scount`) values('3','小说','2013-09-02','30000'); insert into `tabname` (`Id`, `Name`, `Date`, `Scount`) values('4','微信','2013-09-02','10'); insert into `tabname` (`Id`, `Name`, `Date`, `Scount`) values('5','小说','2013-09-03','31000'); insert into `tabname` (`Id`, `Name`, `Date`, `Scount`) values('6','微信','2013-09-03','36000'); insert into `tabname` (`Id`, `Name`, `Date`, `Scount`) values('7','小说','2013-09-04','35000'); insert into `tabname` (`Id`, `Name`, `Date`, `Scount`) values('8','微信','2013-09-04','38000'); insert into `tabname` (`Id`, `Name`, `Date`, `Scount`) values('9','小说','2013-09-01','30000'); insert into `tabname` (`Id`, `Name`, `Date`, `Scount`) values('10','微信','2013-09-01','500');
-- ------------------------
-- 查看数据
-- ------------------------
SELECT
*
from
TabName ;
|
-- ------------------------
-- 列转行统计数据
-- ------------------------
SELECT
Date
,
SUM
(
CASE
NAME
WHEN
'小说'
THEN
Scount
ELSE
33
END
) 小说总量, -- ELSE 一般为0 这里实验33
MAX
(
CASE
NAME
WHEN
'微信'
THEN
Scount
ELSE
33
END
) 微信
FROM
TabName
GROUP
BY
Date
|
-- CASE NAME WHEN '小说' 当name为 小说 时
-- THEN Scount 提供的数据是scount列的
-- ELSE 33 否则为33
-- END
-- ------------------------
-- 行转列统计数据
-- ------------------------
|
接来下的演示不完整 建议看来源
select
Date
, group_concat(
NAME
,
'总量:'
,Scount)
as
b_str
from
TabName
group
by
Date
|
select
Date
,
NAME
, group_concat(
NAME
,
'总量:'
,Scount)
as
b_str
from
TabName
group
by
Date
,
NAME
|