求助数据库,那个大神能解决
程序员文章站
2022-05-22 17:09:58
...
sql 数据库 有一张表 :
id 时间 地区 价格
1 2001 上海 5
2 2001 上海 5
2 2001 山东 6
3 2002 上海 8
4 2002 山东 9
7 2003 山东 10
8 2003 上海 空
想将它扫描出来放在前台页面成这样
时间 上海 山东
2001 5 6
2002 8 9
2003 10
这个就是假设地区是已知的(只要山东与上海2个地区),不具备通用性!
id 时间 地区 价格
1 2001 上海 5
2 2001 上海 5
2 2001 山东 6
3 2002 上海 8
4 2002 山东 9
7 2003 山东 10
8 2003 上海 空
想将它扫描出来放在前台页面成这样
时间 上海 山东
2001 5 6
2002 8 9
2003 10
回复讨论(解决方案)
这个用到存储过程的,不然应该实现不了,除非你知道有几个地区,比如你就上海跟山东这2个地区,那可以用一句弄出来!
看看其他大神有没有好的方法!
CREATE TABLE `mytable` ( id int, 时间 varchar(4), 地区 varchar(50), 价格 decimal);insert into mytable select 1,'2001','上海', 5union allselect 2,'2001','上海', 5 union allselect 2,'2001','山东', 6union allselect 3,'2002','上海', 8 union allselect 4,'2002','山东', 9union allselect 7,'2003','山东', 10union allselect 8,'2003','上海', null;select * from mytable;select 时间,( case 地区 when '上海' then 价格 else null end) as '上海',( case 地区 when '山东' then 价格 else null end) as '山东'from mytablegroup by 时间;
$rs = mysql_query('select * from tbl_name');while($r = mysql_fetch_assoc($rs)) { $res[$r['时间']][$r['地区']] = $r['价格'];}$t = array_keys(current($res));echo "\t" . join("\t", $t) . "\n";foreach($res as $k=>$r) { echo $k; foreach($t as $v) echo "\t{$r[$v]} "; echo "\n";
上海 山东2001 5 6 2002 8 9 2003 10
CREATE TABLE `mytable` ( id int, 时间 varchar(4), 地区 varchar(50), 价格 decimal);insert into mytable select 1,'2001','上海', 5union allselect 2,'2001','上海', 5 union allselect 2,'2001','山东', 6union allselect 3,'2002','上海', 8 union allselect 4,'2002','山东', 9union allselect 7,'2003','山东', 10union allselect 8,'2003','上海', null;select * from mytable;select 时间,( case 地区 when '上海' then 价格 else null end) as '上海',( case 地区 when '山东' then 价格 else null end) as '山东'from mytablegroup by 时间;
这个就是假设地区是已知的(只要山东与上海2个地区),不具备通用性!
参考这个帖子第4种方法 http://www.cnblogs.com/lhj588/archive/2012/06/15/2550392.html
楼上的方法都不错,学习了
上一篇: PHP的可变变量名使用方法详解
下一篇: 弹性盒子中间自适应如何设置(代码教程)
推荐阅读
-
MySQL主从复制虽好,能完美解决数据库单点问题吗【转】
-
MySQL主从复制虽好,能完美解决数据库单点问题吗【转】
-
为什么我写的这程序的$a+$b和$a-$b不能计算,别的能计算啊,求大神解决!!!
-
求助数据库,那个大神能解决
-
JSP能往数据库中写入数据无法修改数据的解决办法
-
【求助大神】discuz X3.2 数据库如何复制?---- 附件出现“出现,该附件无法读取。
-
为什么小弟我写的这程序的$a+$b和$a-$b不能计算,别的能计算啊求大神解决!
-
PHP能连接数据库但是不能create database,如何解决
-
【求助大神】discuz X3.2 数据库如何复制?---- 附件出现“出现,该附件无法读取。
-
PHP能连接数据库但是不能create database,如何解决