Php 选择具有相似名称的行
所以我有一个这样的tbl_总数Php 选择具有相似名称的行,php,mysql,select,Php,Mysql,Select,所以我有一个这样的tbl_总数 Name | Total | Month ========================= David | 87 | Jan Mike | 67 | Jan David | 90 | Feb Mike | 100 | Feb 我想这样展示它。请有人告诉我怎么做,因为我根本不知道如何在PHP中这样显示 Name | Jan | Feb =================== David | 87 | 90
Name | Total | Month
=========================
David | 87 | Jan
Mike | 67 | Jan
David | 90 | Feb
Mike | 100 | Feb
我想这样展示它。请有人告诉我怎么做,因为我根本不知道如何在PHP中这样显示
Name | Jan | Feb
===================
David | 87 | 90
Mike | 67 | 100
试试这个
Select Name,SUM(Total),
SUM(case when Month = 'Jan' then total else 0 end ) as Jan,
SUM(case when Month = 'Feb' then total else 0 end ) as Feb
from tbl_total
group by Name
根据需要用不同的月份重复
案例
陈述。您能展示一下您已经拥有的吗?还有,为什么不在(我的)SQL中合并复制呢?谷歌:“mysql pivot”。谷歌搜索“mysql pivot”会返回到StackOverFlow,因为你已经用PHP标记了它,所以不用担心pivot。相反,只需返回一个有序的结果集,并处理表示层中的任何数据显示问题(例如,一个简单的PHP循环)。有数以十亿计的例子。你不能,但你可以接受这个答案。。与2票相同;)@鸣人:他不是OP。可能很难接受;)@杰尔根德太棒了。。!我发现1个问题,请澄清。如果我把12月份写为sum(…)as Dec
它会给出错误,但是如果我把sum(…)写成Dece
它会给出o/p.@Gowri:我更新了答案,并用反勾转义了Dec
DEC
是一个,如果你想使用它,你需要转义它。@juergend+1。谢谢你。
Select Name,SUM(Total),
SUM(case when Month = 'Jan' then total else 0 end ) as Jan,
SUM(case when Month = 'Feb' then total else 0 end ) as Feb
from tbl_total
group by Name