如何在每个表列中找到最小值并在php中显示一个类

时间:2016-02-24 12:18:43

标签: php yql

您好我使用 YQL 从外部网站上删了一张桌子。该表包含一系列时间,例如:但列数可以更改为包含更多列。

| Name   | T1     | T2     | T3     |
|--------|--------|--------|--------|
| Name 1 | 23.234 | 45.234 | 16.456 |
| Name 2 | 23.389 | 44.322 | 15.222 |
| Name 5 | 22.890 | 44.221 | 15.345 |

我要做的是从每列中获取最低值。我已经能够通过使用此功能获得它。

<?php 
   $sectim = [];
   for ($st=1; $st < count($allRows); $st++) { 
       $sectim[] = $phpObj->query->results->tbody->tr[1]->td[6]->content;

   }
   echo "<pre>"; print_r($sectim); echo "</pre>";  
   echo "<pre>"; print_r(min($sectim)); echo "</pre>"; 
 ?>

这为我提供了该列中所有时间的列表,并给出了最小值。我正在努力的是如何以一种方式做到这一点,我可以从每个表列中获得最小值,因为列数不固定,可以是3列4列甚至9列。我正在考虑使用另一个语句循环遍历所有列,但我不知道这是否会起作用。

2 个答案:

答案 0 :(得分:0)

您可以使用此查询

select min(T1) as column1,min(T2) as column2,min(T3) as column3 from tabel

这将为您提供每列的最小值。

答案 1 :(得分:0)

如果您正在寻找构建动态查询:

$array = array(
   'column1' => 'T1',
   'column2' => 'T2',
   'column3' => 'T3'
);

$column_binder = array();
foreach ($array as $key=>$value){
    $column_binder[] = " min($value) as $key ";
}

$query = "SELECT ".impode(",", $column_binder)." From tabel_name";