GROUP BY with order and HAVING : Group : Select Clause SQL / MySQL


SQL / MySQL » Select Clause » Group »

 

GROUP BY with order and HAVING



/*

mysql> select * from sales;
+-----+------------+--------+--------+--------+------+------------+
| num | name       | winter | spring | summer | fall | category   |
+-----+------------+--------+--------+--------+------+------------+
|   1 | Java       |   1067 |    200 |    150 |  267 | Holiday    |
|   2 | C          |    970 |    770 |    531 |  486 | Profession |
|   3 | JavaScript |     53 |     13 |     21 |  856 | Literary   |
|   4 | SQL        |    782 |    357 |    168 |  250 | Profession |
|   5 | Oracle     |    589 |    795 |    367 |  284 | Holiday    |
|   6 | MySQL      |    953 |    582 |    336 |  489 | Literary   |
|   7 | Cplus      |    752 |    657 |    259 |  478 | Literary   |
|   8 | Python     |     67 |     23 |     83 |  543 | Holiday    |
|   9 | PHP        |    673 |     48 |    625 |   52 | Profession |
+-----+------------+--------+--------+--------+------+------------+
9 rows in set (0.00 sec)

mysql> /* Using the following SELECT command with WHERE, GROUP BY and HAVING cla
uses, list the design_name or names in the Literary design_category that have wi
nter_sales over 700, in order of most sales to least sales.
mysql>  */
mysql> SELECT name, category, winter
    -> FROM sales
    -> WHERE category="Literary"
    -> GROUP BY winter DESC HAVING winter > 700;
+-------+----------+--------+
| name  | category | winter |
+-------+----------+--------+
| MySQL | Literary |    953 |
| Cplus | Literary |    752 |
+-------+----------+--------+
rows in set (0.00 sec)


*/
Drop table sales;
  
CREATE TABLE sales(
    num MEDIUMINT NOT NULL AUTO_INCREMENT,
    name CHAR(20),
    winter INT,
    spring INT,
    summer INT,
    fall INT,
    category CHAR(13),
    primary key(num)
)type=MyISAM;


insert into sales value(1'Java', 1067 200150267,'Holiday');
insert into sales value(2'C',970,770,531,486,'Profession');
insert into sales value(3'JavaScript',53,13,21,856,'Literary');
insert into sales value(4'SQL',782,357,168,250,'Profession');
insert into sales value(5'Oracle',589,795,367,284,'Holiday');
insert into sales value(6'MySQL',953,582,336,489,'Literary');
insert into sales value(7'Cplus',752,657,259,478,'Literary');
insert into sales value(8'Python',67,23,83,543,'Holiday');
insert into sales value(9'PHP',673,48,625,52,'Profession');

select from sales;


/* Using the following SELECT command with WHERE, GROUP BY and HAVING clauses, list the design_name or names in the Literary design_category that have winter_sales over 700, in order of most sales to least sales.
 */
SELECT name, category, winter
FROM sales
WHERE category="Literary"
GROUP BY winter DESC HAVING winter > 700;

           
       



Leave a Comment / Note


 
Verification is used to prevent unwanted posts (spam). .

Follow Navioo On Twitter

SQL / MySQL

 Navioo Select Clause
» Group