免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2631 | 回复: 0
打印 上一主题 下一主题

求 mysql 动态行列转换 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 14:17 |只看该作者 |倒序浏览
5可用积分
表结构及数据如下:

DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
  `id` int(11) NOT NULL DEFAULT '0',
  `name` varchar(4) CHARACTER SET utf8 NOT NULL DEFAULT '',
  `count` int(11) NOT NULL DEFAULT '0',
  `date` int(11) NOT NULL,
  `hour` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `test` VALUES ('1', 'name', '30555', '20111203', '0');
INSERT INTO `test` VALUES ('1', 'name', '30265', '20111203', '1');
INSERT INTO `test` VALUES ('1', 'name', '30197', '20111203', '2');
INSERT INTO `test` VALUES ('1', 'name', '30109', '20111203', '3');
INSERT INTO `test` VALUES ('1', 'name', '30103', '20111203', '4');
INSERT INTO `test` VALUES ('1', 'name', '30138', '20111203', '5');
INSERT INTO `test` VALUES ('1', 'name', '30230', '20111203', '6');
INSERT INTO `test` VALUES ('1', 'name', '30469', '20111203', '7');
INSERT INTO `test` VALUES ('1', 'name', '30474', '20111203', '8');
INSERT INTO `test` VALUES ('1', 'name', '30580', '20111203', '9');
INSERT INTO `test` VALUES ('1', 'name', '30588', '20111203', '10');
INSERT INTO `test` VALUES ('1', 'name', '30307', '20111203', '11');
INSERT INTO `test` VALUES ('1', 'name', '30358', '20111203', '12');
INSERT INTO `test` VALUES ('1', 'name', '30610', '20111203', '13');
INSERT INTO `test` VALUES ('1', 'name', '30504', '20111203', '14');
INSERT INTO `test` VALUES ('1', 'name', '30382', '20111203', '15');
INSERT INTO `test` VALUES ('1', 'name', '30459', '20111203', '16');
INSERT INTO `test` VALUES ('1', 'name', '30437', '20111203', '17');
INSERT INTO `test` VALUES ('1', 'name', '30533', '20111203', '18');
INSERT INTO `test` VALUES ('1', 'name', '30583', '20111203', '19');
INSERT INTO `test` VALUES ('1', 'name', '30625', '20111203', '20');
INSERT INTO `test` VALUES ('1', 'name', '30839', '20111203', '21');
INSERT INTO `test` VALUES ('1', 'name', '30832', '20111203', '22');
INSERT INTO `test` VALUES ('1', 'name', '30755', '20111203', '23');
INSERT INTO `test` VALUES ('1', 'name', '20555', '20111202', '0');
INSERT INTO `test` VALUES ('1', 'name', '20265', '20111202', '1');
INSERT INTO `test` VALUES ('1', 'name', '20197', '20111202', '2');
INSERT INTO `test` VALUES ('1', 'name', '20109', '20111202', '3');
INSERT INTO `test` VALUES ('1', 'name', '20103', '20111202', '4');
INSERT INTO `test` VALUES ('1', 'name', '20138', '20111202', '5');
INSERT INTO `test` VALUES ('1', 'name', '20230', '20111202', '6');
INSERT INTO `test` VALUES ('1', 'name', '20469', '20111202', '7');
INSERT INTO `test` VALUES ('1', 'name', '20474', '20111202', '8');
INSERT INTO `test` VALUES ('1', 'name', '20580', '20111202', '9');
INSERT INTO `test` VALUES ('1', 'name', '20588', '20111202', '10');
INSERT INTO `test` VALUES ('1', 'name', '20307', '20111202', '11');
INSERT INTO `test` VALUES ('1', 'name', '20358', '20111202', '12');
INSERT INTO `test` VALUES ('1', 'name', '20610', '20111202', '13');
INSERT INTO `test` VALUES ('1', 'name', '20504', '20111202', '14');
INSERT INTO `test` VALUES ('1', 'name', '20382', '20111202', '15');
INSERT INTO `test` VALUES ('1', 'name', '20459', '20111202', '16');
INSERT INTO `test` VALUES ('1', 'name', '20437', '20111202', '17');
INSERT INTO `test` VALUES ('1', 'name', '20533', '20111202', '18');
INSERT INTO `test` VALUES ('1', 'name', '20583', '20111202', '19');
INSERT INTO `test` VALUES ('1', 'name', '20625', '20111202', '20');
INSERT INTO `test` VALUES ('1', 'name', '20839', '20111202', '21');
INSERT INTO `test` VALUES ('1', 'name', '20832', '20111202', '22');
INSERT INTO `test` VALUES ('1', 'name', '20755', '20111202', '23');
INSERT INTO `test` VALUES ('1', 'name', '10555', '20111201', '0');
INSERT INTO `test` VALUES ('1', 'name', '10265', '20111201', '1');
INSERT INTO `test` VALUES ('1', 'name', '10197', '20111201', '2');
INSERT INTO `test` VALUES ('1', 'name', '10109', '20111201', '3');
INSERT INTO `test` VALUES ('1', 'name', '10103', '20111201', '4');
INSERT INTO `test` VALUES ('1', 'name', '10138', '20111201', '5');
INSERT INTO `test` VALUES ('1', 'name', '10230', '20111201', '6');
INSERT INTO `test` VALUES ('1', 'name', '10469', '20111201', '7');
INSERT INTO `test` VALUES ('1', 'name', '10474', '20111201', '8');
INSERT INTO `test` VALUES ('1', 'name', '10580', '20111201', '9');
INSERT INTO `test` VALUES ('1', 'name', '10588', '20111201', '10');
INSERT INTO `test` VALUES ('1', 'name', '10307', '20111201', '11');
INSERT INTO `test` VALUES ('1', 'name', '10358', '20111201', '12');
INSERT INTO `test` VALUES ('1', 'name', '10610', '20111201', '13');
INSERT INTO `test` VALUES ('1', 'name', '10504', '20111201', '14');
INSERT INTO `test` VALUES ('1', 'name', '10382', '20111201', '15');
INSERT INTO `test` VALUES ('1', 'name', '10459', '20111201', '16');
INSERT INTO `test` VALUES ('1', 'name', '10437', '20111201', '17');
INSERT INTO `test` VALUES ('1', 'name', '10533', '20111201', '18');
INSERT INTO `test` VALUES ('1', 'name', '10583', '20111201', '19');
INSERT INTO `test` VALUES ('1', 'name', '10625', '20111201', '20');
INSERT INTO `test` VALUES ('1', 'name', '10839', '20111201', '21');
INSERT INTO `test` VALUES ('1', 'name', '10832', '20111201', '22');
INSERT INTO `test` VALUES ('1', 'name', '10755', '20111201', '23');
INSERT INTO `test` VALUES ('1', 'name', '555', '20111130', '0');
INSERT INTO `test` VALUES ('1', 'name', '265', '20111130', '1');
INSERT INTO `test` VALUES ('1', 'name', '197', '20111130', '2');
INSERT INTO `test` VALUES ('1', 'name', '109', '20111130', '3');
INSERT INTO `test` VALUES ('1', 'name', '103', '20111130', '4');
INSERT INTO `test` VALUES ('1', 'name', '138', '20111130', '5');
INSERT INTO `test` VALUES ('1', 'name', '230', '20111130', '6');
INSERT INTO `test` VALUES ('1', 'name', '469', '20111130', '7');
INSERT INTO `test` VALUES ('1', 'name', '474', '20111130', '8');
INSERT INTO `test` VALUES ('1', 'name', '580', '20111130', '9');
INSERT INTO `test` VALUES ('1', 'name', '588', '20111130', '10');
INSERT INTO `test` VALUES ('1', 'name', '307', '20111130', '11');
INSERT INTO `test` VALUES ('1', 'name', '358', '20111130', '12');
INSERT INTO `test` VALUES ('1', 'name', '610', '20111130', '13');
INSERT INTO `test` VALUES ('1', 'name', '504', '20111130', '14');
INSERT INTO `test` VALUES ('1', 'name', '382', '20111130', '15');
INSERT INTO `test` VALUES ('1', 'name', '459', '20111130', '16');
INSERT INTO `test` VALUES ('1', 'name', '437', '20111130', '17');
INSERT INTO `test` VALUES ('1', 'name', '533', '20111130', '18');
INSERT INTO `test` VALUES ('1', 'name', '583', '20111130', '19');
INSERT INTO `test` VALUES ('1', 'name', '625', '20111130', '20');
INSERT INTO `test` VALUES ('1', 'name', '839', '20111130', '21');
INSERT INTO `test` VALUES ('1', 'name', '832', '20111130', '22');
INSERT INTO `test` VALUES ('1', 'name', '866', '20111130', '23');

求一动态sql,查询指定日期段内的数据,获得以下格式的结果集:
hour 20111130 20111201 20111202 20111203   
0 555 10555 20555 30555
1 265 10265 20265 30265
2 197 10197 20197 30197
3 109 10109 20109 30109
4 103 10103 20103 30103
5 138 10138 20138 30138
6 230 10230 20230 30230
........

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP