如何从mysql中的两个不同表中选择两列

时间:2012-10-18 14:12:03

标签: php mysql

  

可能重复:
  how to select two columns from two tables in mysql

我正在尝试执行此查询,但我得到了不同的输出。我想要 从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 但输出显示其他内容。

2 个答案:

答案 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