查詢中的distinct與group by

skyin_1603發表於2016-10-09

Distinct group by :

本身不想拿distinct這個關鍵字來講的,可是想著它在平時的查詢中也經常會使用到。它只是指定去重複的一個關鍵字,
既不是函式,又不像
fromwhere這樣決定查詢語句結構的關鍵字。使用功能方面,有時候就只是去重功能,有時候起
group by 的功能。所以將它們兩個專門拿到這裡再講一下。


1、背景資料: 

SQL> select mgr,deptno

  2  from emp;

       MGR     DEPTNO

---------- ----------

      7902         20

      7698         30

      7698         30

      7839         20

      7698         30

      7839         30

      7839         10

      7566         20

                   10

      7698         30

      7788         20

       MGR     DEPTNO

---------- ----------

      7698         30

      7566         20

      7782         10

14 rows selected.

2、distinct指定一個欄位:

SQL> select distinct mgr

  2  from emp;

       MGR

----------

      7839


      7782

      7698

      7902

      7566

      7788

7 rows selected.


3、distinct
指定兩個欄位:

SQL> select distinct mgr,deptno

  2  from emp;

       MGR     DEPTNO

---------- ----------

      7902         20

      7782         10

      7698         30

      7839         30

      7839         10

      7566         20

      7788         20

      7839         20

                   10

9 rows selected.

 相當是兩個欄位組合去重。


4、當查詢有組類的單個欄位:

SQL> select distinct deptno

  2  from emp;

    DEPTNO

----------

        30

        20

        10


5、查詢中使用group by:

SQL>  select deptno

  2  from emp

  3  group by deptno;

    DEPTNO

----------

        30

        20

        10

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2125999/,如需轉載,請註明出處,否則將追究法律責任。

相關文章