首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

跟我學 MS SQL Server - 2:SELECT 進階選項(排序、去重、彙總、分組)

     編輯:關於SqlServer

SELECT 陳述式提供豐富子句、關鍵字與函數精製結果。

排序:ORDER BY

  • 預設遞增(ASC),加 DESC 遞減。
  • 可多欄位排序,優先序由左至右。
  • 排序欄位不需出現在 SELECT 列表中。

去重:DISTINCT

  • 套用於所有請求欄位,回傳唯一資料列組合。
  • 可結合 WHERE 先篩選再去重,但順序會影響哪一列被保留。

彙總函數

  • COUNT(*):列數;COUNT(col):非 NULL 計數;支援 COUNT(DISTINCT ...)。
  • AVG(col)、SUM(col)、MIN(col)、MAX(col):需為數值類型(MIN/MAX 亦支援字串)。

分組:GROUP BY

  • 讓彙總函數依欄位分組計算,如 SELECT company, MAX(net_amount) FROM Sales GROUP BY company;
  • 可多欄分組:GROUP BY company, last_name。
  • 選取清單中未分組欄位會回傳該組第一筆值(非標準行為,慎用)。

分組後篩選:HAVING

WHERE 先篩選列,HAVING 再篩選分組結果。
例:SELECT company, AVG(net_amount) FROM Sales WHERE last_name BETWEEN 'a' AND 'm' GROUP BY company HAVING AVG(net_amount) > 500;

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved