【问题标题】:Grab min value in PHP from MySQL Database?从 MySQL 数据库中获取 PHP 中的最小值?
【发布时间】:2011-07-30 10:53:18
【问题描述】:

所以我的 MySQL 数据库中有一些数字名称为“id”。我试过这段代码:

while($row = mysql_fetch_array($result))     
{
$id=$row['id'];
$user = $row['usrname'];
$fname = $row['fname'];
$lname = $row['lname'];
echo "<strong>User:</strong> ".$user." ".$fname." ".$lname."<br/>";
echo min($id);
} 

在最后一行,我尝试回显 id 的最小值,但没有成功。有什么建议吗?

回答:使用“ASC LIMIT 1”

    while($row = mysql_fetch_assoc($sql)){    
$id=$row['id'];     
$user = $row['usrname'];     
$fname = $row['fname'];     
$lname = $row['lname'];
echo "<strong>User:</strong> ".$user." ".$fname." ".$lname."<br/>";     
echo $id; 
}

【问题讨论】:

  • 请同时显示您的查询;是否只需要与最小 id 关联的字段?
  • 谢谢大家!我爱你们这些疯狂的天才!

标签: php mysql min


【解决方案1】:
$sql = mysql_query("SELECT * FROM users ORDER BY id ASC LIMIT 1");

while($row = mysql_fetch_assoc($sql))     
{
    $id=$row['id'];
    $user = $row['usrname'];
    $fname = $row['fname'];
    $lname = $row['lname'];

    echo "<strong>User:</strong> ".$user." ".$fname." ".$lname."<br/>";
    echo $id;
} 

【讨论】:

  • @Ken:ASC 表示“按升序排序”,LIMIT 1 表示“最多选择 1 行”。
  • 谢谢!现在从这里我可以对这一行做任何我想做的事!你们摇滚:D +1
  • @Ken 如果您想要最大数量(表中的最后一个用户),只需将 ASC 替换为 DESC。 @Matt Ball,感谢您的解释。
  • @Ken 如果你想要 10 个第一个用户,那么它是 ORDER BY id ASC LIMIT 10,如果你是 10 个最后一个用户,那么 ORDER BY id DESC LIMIT 10,如果你只想要一个,请检查 @dar7yl 解决方案。没问题。
【解决方案2】:

试试这个:

$sql = 'SELECT min(id) as min FROM users';
$query = mysql_query($sql);
$row = mysql_fetch_assoc($query);
$min_id = $row['min'];

【讨论】:

    【解决方案3】:

    如果您无法更改查询顺序(按名称排序?),您可以使用辅助变量确定最低的 $id:

     $min = isset($min) ? min($min, $id) : $id;
    

    然后在你的循环之后print $min;

    【讨论】:

      【解决方案4】:

      如果不能在 MySQL 中使用MIN(),试试这个...

      $smallestId = -PHP_INT_MAX;
      
      while($row = mysql_fetch_assoc($sql)) {
         ...
         $smallestId = min($smallestId, $id);
      }
      

      如果您从来没有任何否定的 ID(您不应该),您可以将 -PHP_INT_MAX 更改为 0

      【讨论】:

        猜你喜欢
        • 2018-06-06
        • 1970-01-01
        • 2018-10-03
        • 1970-01-01
        • 1970-01-01
        • 2012-04-09
        • 2014-02-15
        • 2023-03-24
        • 2014-09-17
        相关资源
        最近更新 更多