| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
|  |  | |||
Home -> Community -> Usenet -> c.d.o.server -> Re: Help with aggregate SQL
SQL> CREATE TABLE SEX_STATE
  2  (
  3   FNAME VARCHAR2(30),
  4   LNAME VARCHAR2(30),
  5   SEX  VARCHAR2(30),
  6   STATE VARCHAR2(2)
  7  );
Table created.
SQL>
SQL> INSERT INTO SEX_STATE VALUES('Beam','Jim','F','AK');
1 row created.
SQL>
SQL> INSERT INTO SEX_STATE VALUES('Hackett','Buddy','F','AK');
1 row created.
SQL>
SQL> INSERT INTO SEX_STATE VALUES('Reno','Janet','M','AK');
1 row created.
SQL>
SQL> INSERT INTO SEX_STATE VALUES('Sexy','Sally','M','NY');
1 row created.
SQL>
SQL> COMMIT;
Commit complete.
SQL>
SQL> SELECT * FROM SEX_STATE;
FNAME LNAME SEXST
------------------------------ ------------------------------ -------------- ---------------- -- Beam Jim F AK Hackett Buddy F AK Reno Janet M AK Sexy Sally MNY
SQL>
SQL> SELECT STATE,SEX,MAX(SEXCOUNT)
  2  FROM
  3  (
  4   SELECT
  5   STATE
  6   ,SEX
  7   ,COUNT(*) AS SEXCOUNT
  8   FROM SEX_STATE I
  9   GROUP BY STATE,SEX
 10   HAVING COUNT(*) = (SELECT
11 MAX(COUNT(*)) 12 FROM SEX_STATE AA 13 WHERE AA.STATE = I.STATE 14 GROUP BY AA.STATE,SEX)15 ) A
ST SEX MAX(SEXCOUNT) -- ------------------------------ ------------- AK F 2 NY M 1Received on Wed Aug 07 2002 - 07:56:41 CDT
|  |  |