显示最高金额的mysql表中的名称

时间:2014-03-08 13:24:25

标签: php mysql

我的表的一个例子是:

---------------------------------------------
id | fistname      | lastname     |  score 
---------------------------------------------
1  | bob           | wilson       | 77 
2  | jess          | farr         | 47 

我需要一种在php中显示最高/最低和平均得分的名称的方法

UPDATE ::我在php中有这个代码,但它只返回资源ID#5

$conn = mysql_connect($dbhost, $dbuser, $dbpass);

$sql = "SELECT firstname, lastname FROM students ORDER BY english DESC LIMIT 1 ";
mysql_select_db('education');
$score = mysql_query( $sql, $conn );

echo $score;

3 个答案:

答案 0 :(得分:1)

如何在SQL中执行此操作?

 SELECT firstname, lastname 
   FROM scoretable
  ORDER BY score DESC
  LIMIT 1

这将为您提供得分最高的名字的名字和姓氏。如果您有两个得分相同的人,但是您没有要求,那么它无法正常工作。

如果你需要所有追求最高分的人,试试这个。

 SELECT firstname, lastname
   FROM scoretable
  WHERE score = (SELECT MAX(score) FROM scoretable)

答案 1 :(得分:0)

$con = mysql_connect('localhost','root','');
mysql_select_db('YOURDB NAME');
$highest= mysql_query("SELECT firstname, max(score)FROM table_name");
$lowest = mysql_query("SELECT firstname, min(score)FROM table_name");
$avg = mysql_query("SELECT firstname, avg(score)FROM table_name");
$row = mysql_fetch_row($highest);
echo $row[0];
echo $row[1];

答案 2 :(得分:0)

对于最高者,你可以尝试这个

SELECT * FROM (table name) WHERE score = (SELECT MAX(score) FROM (table name))

最低也可以试试这个:

SELECT * FROM (table name) WHERE score = (SELECT MIN(score) FROM (table name))