我的表的一个例子是:
---------------------------------------------
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;
答案 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))