什么是用于计算数据库中多次存在的记录的SQL查询?

时间:2014-03-26 09:14:30

标签: php mysql sql phpmyadmin

<?php

mysql_connect("localhost", "root", "");
mysql_select_db("students");

$id = $_POST['id'];
$grade = $_POST['grade'];

$query = "INSERT INTO `st_table` (`St_id`,`Grade`) VALUES ('$id','$grade')";
$result = mysql_query($query);

$query = "SELECT * from `st_table`";
$result = mysql_query($query);

echo "<table>"; 
echo "<th>St_id</th><th>Grade</th>";
while($row = mysql_fetch_array($result)){   
echo "<tr><td>" . $row['St_id'] . "</td><td>" . $row['Grade'] . "</td></tr>"; 
                           }

此代码将值添加到ID和Grade的表中。我想要另一个查询,它能够计算出多少As,Bs,Cs等,并在html表上输出它。

1 个答案:

答案 0 :(得分:2)

在这里,您的查询只能按Grade而不是Grades

进行分组
"SELECT `Grade`, COUNT(*) AS count FROM `st_table` GROUP BY `Grade`";

这是sqlfiddle

修改后

我提到的查询应该对你有用,你可以检查一下,因为你修改了代码而你需要更改你的表,因为你要包括St_id所以make它也是3列并相应地改变了查询。