我有一张表,用于存储转帐。每次转移都有一个日期和一些movil
。我需要每月统计一次,每天movil
的转移次数。
该查询效果很好,但问题是我需要在列中显示每一天,并且每行movil
显示一行。
我的想法是将所有结果保存在多维数组中。但是搜索价值的速度非常慢。
这是转移表:
id fecha movil
1 01/08/2016 A
2 01/08/2016 A
3 01/08/2016 B
4 02/08/2016 A
5 02/08/2016 B
6 02/08/2016 B
7 02/08/2016 C
8 02/08/2016 A
9 03/08/2016 A
10 03/08/2016 B
这是我的疑问:
select DAY(fecha),movil, count(id)
from traslados
where YEAR(fecha) = '2016' and MONTH(fecha) = '07' and movil is not null
group by DAY(fecha),movil
现在,我必须在表格中显示结果,格式如下:
movil/fecha 1 2 3
A 2 1 1
B 1 2 1
C 0 1 0
我有可能在查询或php代码中执行此操作吗?
ADDED
这是我的查询结果的样子:
DAY(FECHA) MOVIL COUNT
1 A 2
1 B 1
2 A 2
2 B 2
2 C 1
3 A 1
3 A 1
它包含我想要的所有数据,但不包含格式。
这是我的尝试:
<?
$maxDias = cal_days_in_month(CAL_GREGORIAN, '07', '2016');
$cons = "select DAY(fecha) as dia,movil, count(idTraslado) as cantidad
from traslados
where YEAR(fecha) = '2016' and MONTH(fecha) = '07' and movil is not null
and (idObraSocial = 20 or idObraSocial = 5)
group by DAY(fecha),movil";
$result = mysql_query($cons, $conexion);
$filas = mysql_affected_rows();
$array = array();
while($data = mysql_fetch_assoc($result)){
$array[] = $data;
}
print_r($array);
$consMoviles = "select DISTINCT movil from traslados
where YEAR(fecha) = '2016' and MONTH(fecha) = '07' and movil is not null
and (idObraSocial = 20 or idObraSocial = 5)
order by movil";
$resultMoviles = mysql_query($consMoviles, $conexion);
$cantMoviles = mysql_affected_rows();
?>
<table class="table table-hover table-bordered">
<thead>
<tr class="success">
<th>
Movil/Día
</th>
<?for ($i = 1; $i < $maxDias; $i++) {?>
<th>
<?echo $i;?>
</th>
<?}?>
</tr>
</thead>
<tbody>
<? while ($rowMovil = mysql_fetch_array($resultMoviles, MYSQL_ASSOC)) { ?>
<tr>
<th>
<?=$rowMovil["movil"];?>
</th>
<?for ($i = 1; $i < $maxDias; $i++) {?>
<th>
HERE SHOW DATA
</th>
<?}?>
</tr>
<?}?>
</tbody>
</table>