SQL GROUP BY Command

You can see the Count command before using GROUP BY command here. GROUP BY command will create groups in the field name specified and will count the number of records in the groups. This is very useful command.

We can also use WHERE command along with GROUP BY command in Mysql tables.
SELECT count(*) as total_records, class  FROM `student` group by class

This will display the total records in each class. Like this
total_recordsclass
1 Eight
3 Five
9 Four
2 Nine
10 Seven
7 Six
3 Three
Let us try to get the total number of girls records in each class by using GROUP BY query. Here we want to filter our query for only girls so we have to use one WHERE clause to restrict the records using the sex field. Here is the query.
SELECT class,count( * ) AS total_records  FROM `student` WHERE sex='female' GROUP BY class


The output is here
class total_records
Four5
Nine1
Seven 5
Six 5
Three 1

Duplicate records

We can find out duplicate records in a table by using group by command. We will create another table student2_1 by using same data and by adding some duplicate records. Here is the query
SELECT name, COUNT(id) AS no from student2_1 group by name having  no > 1
Output is here .
nameno
Arnold2
Tade Row3
You can download the SQL dump of this stduent2_1 table with added duplicate data at the end of this page.

Sample code

Here is a sample code to understand how to use group by query using PHP script and PDO.
require "../config.php"; // Database connection 
///////////////////////////
$sql="SELECT count(*) as total_records, class FROM `student` group by class ";
echo "<table>";
foreach ($dbo->query($sql) as $row) {
echo "<tr ><td>$row[class]</td><td>$row[total_records]</td></tr>";
}
echo "</table>";


PART II: We will try to apply group by command more than one fields. For this we will create a new table and discuss in detail. Next Part II

Down load the SQL DUMP of this student table
Down load the SQL DUMP of stduent2_1 table

Subscribe to our mailing list

* indicates required
Subscribe to plus2net
Visitors Rating
Your Rating


Google+
sampat

26-02-2009

i want to display the all record from table, in which if column contain duplicate value then it will show duplicate value at once
smo

27-02-2009

You have to use distinct SQL command. Read here on how to use Distinct to get unique records.
alicia

22-08-2009

very nice tutorial it really helps me a lot :)
karthik

23-10-2010

i want to display a column into row.

Post Comment This is for short comments only. Use the forum for more discussions.




Subscribe to our mailing list

* indicates required
Subscribe to plus2net




HTML . MySQL. PHP. JavaScript. ASP. Photoshop. Articles. FORUM Contact us
©2000-2017 plus2net.com All rights reserved worldwide Privacy Policy Disclaimer