Use GROUP BY and ORDER BY together : Group « Select Clause « SQL / MySQL
Use GROUP BY and ORDER BY together
/*mysql> select * from employee; +----+-----------+----------+----------------------------+------+---------------+--------+-------+---------------------+ | id | firstname | lastname | title | age | yearofservice| salary | perks | email | +----+-----------+----------+----------------------------+------+---------------+--------+-------+---------------------+ | 1 | John | Chen | Senior Programmer | 31 | 3| 120000 | 25000 | [email protected] | | 2 | Jan | Pillai | Senior Programmer | 32 | 4| 110000 | 20000 | [email protected] | | 3 | Ane | Pandit | Web Designer | 24 | 3| 90000 | 15000 | [email protected] | | 4 | Mary | Anchor | Web Designer | 27 | 2| 85000 | 15000 | [email protected] | | 5 | Fred | King | Programmer | 32 | 3| 75000 | 15000 | [email protected] | | 6 | John | Mac | Programmer | 32 | 4| 80000 | 16000 | [email protected] | | 7 | Arthur | Sam | Programmer | 28 | 2| 75000 | 14000 | [email protected] | | 8 | Alok | Nanda | Programmer | 32 | 3| 70000 | 10000 | [email protected] | | 9 | Susan | Ra | Multimedia Programmer | 32 | 4| 90000 | 15000 | [email protected] | | 10 | Paul | Simon | Multimedia Programmer | 23 | 1| 85000 | 12000 | [email protected] | | 11 | Edward | Parhar | Multimedia Programmer | 30 | 2| 75000 | 15000 | [email protected] | | 12 | Kim | Hunter | Senior Web Designer | 32 | 4| 110000 | 20000 | [email protected] | | 13 | Roger | Lewis | System Administrator | 32 | 3| 100000 | 13000 | [email protected] | | 14 | Danny | Gibson | System Administrator | 31 | 2| 90000 | 12000 | [email protected] | | 15 | Mike | Harper | Senior Marketing Executive | 36 | 1| 120000 | 28000 | [email protected] | | 16 | Mary | Sunday | Marketing Executive | 31 | 5| 90000 | 25000 | [email protected] | | 17 | Jack | Sim | Marketing Executive | 27 | 1| 70000 | 18000 | [email protected] | | 18 | Joe | Irvine | Marketing Executive | 27 | 1| 72000 | 18000 | [email protected] | | 19 | Henry | Ali | Customer Service Manager | 32 | 3| 70000 | 9000 | [email protected] | | 20 | Peter | Champion | Finance Manager | 32 | 2| 120000 | 25000 | [email protected] | +----+-----------+----------+----------------------------+------+---------------+--------+-------+---------------------+ 20 rows in set (0.00 sec) mysql> select title, count(*) AS Number -> from employee -> GROUP BY title -> ORDER BY Number; +----------------------------+--------+ | title | Number | +----------------------------+--------+ | Customer Service Manager | 1 | | Finance Manager | 1 | | Senior Web Designer | 1 | | Senior Marketing Executive | 1 | | System Administrator | 2 | | Senior Programmer | 2 | | Web Designer | 2 | | Marketing Executive | 3 | | Multimedia Programmer | 3 | | Programmer | 4 | +----------------------------+--------+ 10 rows in set (0.00 sec) */ Drop table employee; CREATE TABLE employee ( id int unsigned not null auto_increment primary key, firstname varchar(20), lastname varchar(20), title varchar(30), age int, yearofservice int, salary int, perks int, email varchar(60) ); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("John", "Chen", "Senior Programmer", 31, 3, 120000, 25000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Jan", "Pillai", "Senior Programmer", 32, 4, 110000, 20000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Ane", "Pandit", "Web Designer", 24, 3, 90000, 15000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Mary", "Anchor", "Web Designer", 27, 2, 85000, 15000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Fred", "King", "Programmer", 32, 3, 75000, 15000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("John", "Mac", "Programmer", 32, 4, 80000, 16000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Arthur", "Sam", "Programmer", 28, 2, 75000, 14000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Alok", "Nanda", "Programmer", 32, 3, 70000, 10000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Susan", "Ra", "Multimedia Programmer", 32, 4, 90000, 15000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Paul", "Simon", "Multimedia Programmer", 23, 1, 85000, 12000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Edward", "Parhar", "Multimedia Programmer", 30, 2, 75000, 15000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Kim", "Hunter", "Senior Web Designer", 32, 4, 110000, 20000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Roger", "Lewis", "System Administrator", 32, 3, 100000, 13000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Danny", "Gibson", "System Administrator", 31, 2, 90000, 12000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Mike", "Harper", "Senior Marketing Executive", 36, 1, 120000, 28000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Mary", "Sunday", "Marketing Executive", 31, 5, 90000, 25000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Jack", "Sim", "Marketing Executive", 27, 1, 70000, 18000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Joe", "Irvine", "Marketing Executive", 27, 1, 72000, 18000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Henry", "Ali", "Customer Service Manager", 32, 3, 70000, 9000, "[email protected]"); INSERT INTO employee (firstname, lastName, title, age, yearofservice, salary, perks, email) values ("Peter", "Champion", "Finance Manager", 32, 2, 120000, 25000, "[email protected]"); select * from employee; select title, count(*) AS Number from employee GROUP BY title ORDER BY Number;
Related examples in the same category
java2s.com | © Demo Source and Support. All rights reserved.