用单个查询检索表中所有列的最大值的正确方法是什么?谢谢。
澄清:同一个查询应该适用于任何表,即列名不能硬编码到表中。

最佳答案

您必须分两步来完成这项工作—第一步是检索表的结构,第二步是检索每个表的最大值
在php中:

$table = "aTableName";
$columnsResult = mysql_query("SHOW COLUMNS FROM $table");

$maxValsSelect = "";
while ($aColumn = mysql_fetch_assoc($columnsResult)) {
  if (strlen($maxValsSelect) > 0) {
    //Seperator
    $maxValsSelect .= ", ";
  }

  $maxValsSelect .= "MAX(" . $aColumn['Field'] . ") AS '" . $aColumn['Field'] . "'";
}

//Complete the query
$maxValsQuery = "SELECT $maxValsSelect FROM $table";
$maxValsResult = mysql_query($maxValsQuery);

//process the results....

关于mysql - MySQL查询所有列的max(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/349108/

10-09 01:49