Php 只需显示一个结果

Php 只需显示一个结果,php,mysql,Php,Mysql,我有一个代码,它显示了一个运动员列表和他们在比赛中的分数: <table width="100%" border="0" cellspacing="0" cellpadding="0"> <?php $result=mysql_query("SELECT * FROM `pointstable` WHERE `contestfield` = 1 ORDER BY `pointsfield` ASC"); while ($info=mysql_fetch_ass

我有一个代码,它显示了一个运动员列表和他们在比赛中的分数:

<table width="100%" border="0" cellspacing="0" cellpadding="0">
 <?php
    $result=mysql_query("SELECT * FROM `pointstable` WHERE `contestfield` = 1 ORDER BY `pointsfield` ASC");
    while ($info=mysql_fetch_assoc($result)) {
        $playerid=$info['playeridfield'];
        $playername=$info['playernamefield'];
        $pointsfield=$info['pointsfield'];
     ?>

  <tr><td style="text-align:center; padding-bottom:5px" valign="middle"><?=$playername?> made <?=number_format($pointsfield)?></td></tr>

<?php } ?>
</table>

…制造的
这将显示完整的列表,但当用户玩了不止一次时,它会显示他拥有的所有点数

因此,我只想显示第一个值(在本例中,最低点,因为比赛的目的是获得最低分数)playeridfield是每个玩家的唯一数字,每个玩家都有一个


谁能做到这一点?

只需使用mysql
min
函数并按id分组:

SELECT playeridfield, playernamefield, MIN(pointsfield) AS pointsfield FROM `pointstable` 
WHERE `contestfield` = 1 GROUP BY `playeridfield` ORDER BY `pointsfield` ASC

尝试将SQL查询更改为:

$result=mysql_query("SELECT * FROM `pointstable` WHERE `contestfield` = 1 ORDER BY `pointsfield` ASC LIMIT 1");

LIMIT 1
应该使查询只返回一行。

在LIMIT 1结尾处将此添加到SQL查询中,我甚至会执行
LIMIT 0,1
以确保为最上面的行设置了偏移量。默认偏移量为0。