顯示具有 SQL-Query Advance 標籤的文章。 顯示所有文章
顯示具有 SQL-Query Advance 標籤的文章。 顯示所有文章

2013年6月19日 星期三

使用同義字

PIVOT 和 UNPIVOT

分組查詢

GROUP BY 的延伸類型有:

分析函式

以下幾個分析函數(Analytic Functions)都是 SQL 2012 新增功能。 分析函數會根據資料列群組計算出彙總值。 但不同於彙總函式,其可以傳回每個群組的多個資料列。 您可以使用分析函數計算群組中的移動平均、最新總數、百分比或前 N 個結果。

2013年5月8日 星期三

彙總查詢

Aggregate functions allow you to apply calculations on values in a column. Adding the GROUP BY clause allows you to provide aggregate on subsets of the data.

2013年5月7日 星期二

次序函數

排名函數是指可以傳回查詢結果的序號或排名的函式。 自 SQL 2005 關始,SQL Server 開始提供符合 ANSI SQL:2003 標準的排名函數,以方便使用者能夠將資料做相關的其他用途。

  • ROW_NUMBER :為每筆結果加上一個序列號。
  • RANK :若遇到相同資料值,則同序列號;後續資料則跳號。
  • DENSE_RANK :若遇到相同資料值,則同序列號;後續資料不跳號,接續排名。
  • NTILE :根據帶入的參數,將資料分割成 N 群組。
ROW_NUMBER() OVER ( [ <partition_by> ] < order_by_clause > )
RANK()       OVER ( [ <partition_by> ] < order_by_clause > )
DENSE_RANK() OVER ( [ <partition_by> ] < order_by_clause > )
NTILE (n)    OVER ( [ <partition_by> ] < order_by_clause > )

子查詢

子查詢讓關發人員仍夠以較直覺的方式撰寫 TSQL ,也能夠讓較複雜的查詢在單一次的查詢中完成。 子查詢最多能夠使用至 32 層,但仍取決於伺服器的可用記憶體及查詢的複雜度。

通用資料表運算式(CTE)

通用資料表運算式(CTEs)

通用資料表運算式 (Common Table Expression) 是 SQL 2005 才開始支援的查詢語法。 它有二個主要的用途:簡化子查詢與遞迴查詢。