Group value in subquery : Group « Select Clause « SQL / MySQL






Group value in subquery

      
mysql>
mysql>
mysql> CREATE   TABLE MATCHES
    ->         (MATCHNO        INTEGER      NOT NULL,
    ->          TEAMNO         INTEGER      NOT NULL,
    ->          EmployeeNO       INTEGER      NOT NULL,
    ->          WON            SMALLINT     NOT NULL,
    ->          LOST           SMALLINT     NOT NULL,
    ->          PRIMARY KEY    (MATCHNO)            );
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> INSERT INTO MATCHES VALUES ( 1, 1,   6, 3, 1);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 2, 1,   6, 2, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 3, 1,   6, 3, 0);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 4, 1,  44, 3, 2);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 5, 1,  83, 0, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 6, 1,   2, 1, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 7, 1,  57, 3, 0);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 8, 1,   8, 0, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES ( 9, 2,  27, 3, 2);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES (10, 2, 104, 3, 2);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES (11, 2, 112, 2, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES (12, 2, 112, 1, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO MATCHES VALUES (13, 2,   8, 0, 3);
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>
mysql> CREATE TABLE EmployeeS(
    ->          EmployeeNO       INTEGER      NOT NULL,
    ->          NAME           CHAR(15)     NOT NULL,
    ->          INITIALS       CHAR(3)      NOT NULL,
    ->          BIRTH_DATE     DATE                 ,
    ->          SEX            CHAR(1)      NOT NULL,
    ->          JOINED         SMALLINT     NOT NULL,
    ->          STREET         VARCHAR(30)  NOT NULL,
    ->          HOUSENO        CHAR(4)              ,
    ->          POSTCODE       CHAR(6)              ,
    ->          TOWN           VARCHAR(30)  NOT NULL,
    ->          PHONENO        CHAR(13)             ,
    ->          LEAGUENO       CHAR(4)              ,
    ->          PRIMARY KEY    (EmployeeNO)           );
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (2, 'Jack', 'R', '1948-09-01', 'M', 1975, 'Stoney Road','43', '3575NH', 'Stratford', '070-237893', '2411');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (6, 'Link', 'R', '1964-06-25', 'M', 1977, 'Haseltine Lane','80', '1234KK', 'Stratford', '070-476537', '8467');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (7, 'Wise', 'GWS', '1963-05-11', 'M', 1981, 'First Way','39', '9758VB', 'Stratford', '070-347689', NULL);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (8, 'Mary', 'B', '1962-07-08', 'F', 1980, 'Station Road','4', '6584WO', 'Inglewood', '070-458458', '2983');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (27, 'Collins', 'DD', '1964-12-28', 'F', 1983, 'Long DRay','804', '8457DK', 'Eltham', '079-234857', '2513');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (28, 'Collins', 'C', '1963-06-22', 'F', 1983, 'Old Main Road','10', '1294QK', 'Midhurst', '010-659599', NULL);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (39, 'Bishop', 'D', '1956-10-29', 'M', 1980, 'Eaton Square','78', '9629CD', 'Stratford', '070-393435', NULL);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (44, 'Baker', 'E', '1963-01-09', 'M', 1980, 'Lewis Street','23', '4444LJ', 'Inglewood', '070-368753', '1124');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (57, 'Brown', 'M', '1971-08-17', 'M', 1985, 'First Way','16', '4377CB', 'Stratford', '070-473458', '6409');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (83, 'Hope', 'PK', '1956-11-11', 'M', 1982, 'Main Road','16A', '1812UP', 'Stratford', '070-353548', '1608');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (95, 'Miller', 'P', '1963-05-14', 'M', 1972, 'High Street','33A', '5746OP', 'Douglas', '070-867564', NULL);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (100, 'Link', 'P', '1963-02-28', 'M', 1979, 'Haseltine Lane','80', '6494SG', 'Stratford', '070-494593', '6524');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (104, 'Jane', 'D', '1970-05-10', 'F', 1984, 'Stout Street','65', '9437AO', 'Eltham', '079-987571', '7060');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO EmployeeS VALUES (112, 'Bailey', 'IP', '1963-10-01', 'F', 1984, 'Vixen Road','8', '6392LK', 'Plymouth', '010-548745', '1319');
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>
mysql>
mysql> CREATE   TABLE TEAMS
    ->         (TEAMNO         INTEGER      NOT NULL,
    ->          EmployeeNO       INTEGER      NOT NULL,
    ->          DIVISION       CHAR(6)      NOT NULL,
    ->          PRIMARY KEY    (TEAMNO)             );
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>
mysql> INSERT INTO TEAMS VALUES (1,  6, 'first');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO TEAMS VALUES (2, 27, 'second');
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>
mysql> SELECT   TEAMNO, COUNT(*)
    -> FROM     MATCHES
    -> WHERE    TEAMNO IN
    ->         (SELECT   TEAMNO
    ->          FROM     TEAMS INNER JOIN EmployeeS
    ->                   ON TEAMS.EmployeeNO = EmployeeS.EmployeeNO
    ->          WHERE    TOWN = 'Eltham')
    -> GROUP BY TEAMNO;
+--------+----------+
| TEAMNO | COUNT(*) |
+--------+----------+
|      2 |        5 |
+--------+----------+
1 row in set (0.00 sec)

mysql>
mysql>
mysql> drop table Employees;
Query OK, 0 rows affected (0.00 sec)

mysql> drop table teams;
Query OK, 0 rows affected (0.00 sec)

mysql> drop table matches;
Query OK, 0 rows affected (0.00 sec)

mysql>

   
    
    
    
    
    
  








Related examples in the same category

1.Use GROUP BY clause to list only the unique data
2.Another GROUP BY
3.Use GROUP BY
4.GROUP BY with order and HAVING
5.Use GROUP BY 2
6.Use GROUP BY and ORDER BY together
7.Get GROUP BY for COUNT
8.Simple GROUP BY
9.GROUP and sort the records
10.GROUP value and count
11.Grouping Data: Filtering Group Data
12.Grouping Data: 03 Using the HAVING Clause 1
13.Grouping Data: Using the HAVING Clause 1
14.Using math function in HAVING
15.GROUP and HAVING with sub query
16.Group by and order by for linked tables
17.Grouping by Expression Results
18.Give the expression an alias in the output column list and refer to the alias in the GROUP BY clause
19.Write the GROUP BY clause to refer to the output column position:
20.Group by multiple expressions if you like.
21.Group mail table records into categories of 100,000 bytes
22.Group by DAYOFWEEK( )
23.Working with Per-Group and Overall Summary Values Simultaneously
24.Finding Rows Containing Per-Group Minimum or Maximum Values
25.Maximum-per-group problem for this table
26.Another way to group statements is to turn off auto-commit mode explicitly.
27.To use a GROUP BY clause effectively, you should also include a select list element that contains a function t
28.Specifies two columns in the GROUP BY clause
29.Working with Grouped Data
30.Group by calculated value
31.Group by two columns
32.Group by then order by vs Group by only
33.GROUP BY for Several Columns
34.GROUP BY returns a final sum for the first column and supplementary partial sums for the second column.
35.Dividing a Summary into Subgroups
36.Use the name column to place the rows in groups, but the summary functions operate on the miles values:
37.Parentheses may be used to group alternations.
38.To be more specific and find out how many messages each sender sent from each host, use two grouping columns.
39.Categorize groups on a logarithmic scale.
40.Missing and non-missing counts can be determined for subgroups as well.
41.get the number of orders per customer
42.A less fine-grained summary can be obtained by using only the month values
43.Find out how many books you have per author, use this query
44.Ascertain the most common initial letter for state names like this: