数据库版本 MySQL 5.1.41-community-log测试代码
DROP TABLE IF EXISTS `t_test`;
CREATE TABLE IF NOT EXISTS `t_test`(
`c` INT(1) NOT NULL,
`s` INT(1) NOT NULL,
`q` INT(1) NOT NULL DEFAULT '0'
) ENGINE=InnoDB;INSERT INTO `t_test` VALUES
(1,1,10),
(1,2,11),
(1,3,12),
(1,4,13),
(2,1,14),
(2,2,15),
(2,3,16),
(2,4,17),
(3,1,18),
(3,2,19),
(3,3,20);SELECT CONCAT(`c`,`s`),`q` FROM `t_test`;
+-----------------+----+
| CONCAT(`c`,`s`) | q |
+-----------------+----+
| 11 | 10 |
| 12 | 11 |
| 13 | 12 |
| 14 | 13 |
| 21 | 14 |
| 22 | 15 |
| 23 | 16 |
| 24 | 17 |
| 31 | 18 |
| 32 | 19 |
| 33 | 20 |
+-----------------+----+期望结果,把CONCAT(`c`, `s`)这个字段(可以确定这个2个字段CONCAT后值唯一)的数据变为字段列,`q`字段的数据变为对应字段的数据
+----+----+----+----+----+----+----+----+----+----+----+
| 11 | 12 | 13 | 14 | 21 | 22 | 23 | 24 | 31 | 32 | 33 |
+----+----+----+----+----+----+----+----+----+----+----+
| 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
+----+----+----+----+----+----+----+----+----+----+----+
DROP TABLE IF EXISTS `t_test`;
CREATE TABLE IF NOT EXISTS `t_test`(
`c` INT(1) NOT NULL,
`s` INT(1) NOT NULL,
`q` INT(1) NOT NULL DEFAULT '0'
) ENGINE=InnoDB;INSERT INTO `t_test` VALUES
(1,1,10),
(1,2,11),
(1,3,12),
(1,4,13),
(2,1,14),
(2,2,15),
(2,3,16),
(2,4,17),
(3,1,18),
(3,2,19),
(3,3,20);SELECT CONCAT(`c`,`s`),`q` FROM `t_test`;
+-----------------+----+
| CONCAT(`c`,`s`) | q |
+-----------------+----+
| 11 | 10 |
| 12 | 11 |
| 13 | 12 |
| 14 | 13 |
| 21 | 14 |
| 22 | 15 |
| 23 | 16 |
| 24 | 17 |
| 31 | 18 |
| 32 | 19 |
| 33 | 20 |
+-----------------+----+期望结果,把CONCAT(`c`, `s`)这个字段(可以确定这个2个字段CONCAT后值唯一)的数据变为字段列,`q`字段的数据变为对应字段的数据
+----+----+----+----+----+----+----+----+----+----+----+
| 11 | 12 | 13 | 14 | 21 | 22 | 23 | 24 | 31 | 32 | 33 |
+----+----+----+----+----+----+----+----+----+----+----+
| 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
+----+----+----+----+----+----+----+----+----+----+----+
解决方案 »
- 关于mysql的,高手指点一下吧
- 如何知道Mysql视图是由那些表组成的?
- 求mysql查询练习题目!!!
- 关于分表和分区
- 1 client is using or hasn't closed the table properly
- 請各位幫忙,關於mysql的文件格式
- mysql如何分离数字和字符?
- 在mysql的存储过程中的循环体后面对变量赋值无效??
- MYSQL 迁移数据库 *.MYI *.MYD *.frm 的 索引的问题
- MySQL5.6.16,like '%zhangsan%',用explain得到的结果让我迷惑了。
- 数据库的两道面试题
- mysql如何为下面的单表添加索引,提高查询效率(重新提问)
select sum(if(f1='11',q,0)) .... from tt
2、动态
用字符串累加生成SQL语句再动态执行
MySQL交叉表
不过对于我的应用来说,弄成这样反而复杂了...还是直接PHP处理吧...