Matrix从数据库中选择

时间:2015-07-17 23:56:56

标签: php sql oracle select matrix

我正在尝试从表中接收信息,这些信息将被分组使用 我想知道是否有某种方法可以在某种3d矩阵中接收这些数据 我在php和oracle sql开发人员中执行此代码,但即便如此,我也可以在php中轻松完成,如果这些信息更加“有条理”,我将不胜感激。 例如:
假设数据通常会从数据库中显示出来。

$m = array  
(
  array("field1"=>1, "field2"=>'1', "field3"=> somedata),  
  array("field1"=>1, "field2"=>'2', "field3"=> somedata), 
  array("field1"=>2, "field2"=>'3', "field3"=> somedata),  
  array("field1"=>2, "field2"=>'4', "field3"=> somedata),  
  array("field1"=>2, "field2"=>'5', "field3"=> somedata)  
);

我想这样就出来了:

$m = array
(
  array("1" =>  $m = array  
  (
    array("field2"=>'1', "field3"=> somedata),  
    array("field2"=>'2', "field3"=> somedata)
  )),
  array("2" =>  $m = array  
  (
    array("field2"=>'3', "field3"=> somedata),  
    array("field2"=>'4', "field3"=> somedata),
    array("field2"=>'5', "field3"=> somedata)
  ))
);

我不知道我是否已经清楚了,但是我希望我可以使用某些列或信息作为参数在任何类型的块中接收这些数据,我可以更容易地处理这些信息php,因为我必须做循环才能在子数组中分割这些数据。 无论如何,感谢您的帮助和对不起的英语 P.S。:只是为了澄清一点:
通常我会以这种方式访问​​一些数据(直接来自db,没有任何处理):

$ar[0]['field1'];//value 2
$ar[0]['field2'];//some value
$ar[1]['field1'];//value 2
$ar[1]['field2'];//some value
$ar[3]['field1'];//value 3
$ar[3]['field2'];//some value

我希望,有点,直接从select的返回中接收这个,分组,在另一个“索引”中。我会像这样访问它:

$ar[0]['field1'][0]; 
//would return the same as this($ar[0]) from the example above
$ar[0]['field1'][1]; 
//would return the same as this($ar[2]) from the example above
$ar[1]['field1'][0]; 
//would return the same as this($ar[3]) from the example above

1 个答案:

答案 0 :(得分:0)

如果您使用的是Oracle,则可以使用提供小计的ROLLUP和CUBE。 然后,您可以按顺序对详细信息进行排序和处理。 问候, 何