我正在尝试执行此查询,但我得到了不同的输出。我想要
从column(grade
计算来自table grading
}的行并选择
来自其他column(level)
的{{1}}。
table info
我的数据库:
for($i=1; $i<9; $i++)
{
$result = mysql_query("SELECT COUNT(grade),level FROM grading,info WHERE grade = $i");
while ($row = mysql_fetch_array($result))
{
echo "<tr><td>";
echo $row['level'];
echo "</td>";
echo "<td>";
echo $row['COUNT(grade)'];
echo "</td></tr>";
}
}
我的输出:
level grade
A 1
B 2
C 6
D 3
E 4
F 5
G 6
H 8
但错了我想算一下有多少学生的成绩
level grade
A 8
B 8
C 8
D 8
E 8
F 16
G 0
H 8
但输出显示其他内容。
答案 0 :(得分:0)
我认为,你必须使用JOIN http://en.wikipedia.org/wiki/Join_(SQL)而不是FROM table1,table2。
答案 1 :(得分:0)
我不确定我理解你想要什么,但如果我认为你正在寻找的是正确的,请尝试:
select grade, count(*) from students group by grade;
GROUP BY
将该列压缩为不同的值,并允许您通过计数返回将多少行“分组”到该不同值中。
此处有更多信息:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html