ARRGREATION


e.g:COUNT()、AVG()、SUM()、MAX()、MIN()

SELECT Column_1
       , SUM([COLUMN])
FROM [TABLE]
WHERE [TABLE].[COLUMN]條件
GROUP BY Column_1--Aggregation以外的都要放在GROUP BY
HAVING [Aggregation]--HAVING是用來過濾Aggregation的

◎ LIKE

--尋找 Column_1 資料為 R 開頭的
SELECT *
FROM Table
WHERE Column_1 Like 'R%'

--尋找 Column_1 資料為 R 結尾的
SELECT *
FROM Table
WHERE Column_1 Like '%R'

--尋找 Column_1 資料中間有包含 R 的
SELECT *
FROM Table
WHERE Column_1 Like '%R%'

--尋找 Column_1 資料為 A 或 B 或 C 開頭的
SELECT *
FROM Table
WHERE Column_1 Like '[ABC]%'

--尋找 Column_1 資料不為 A 或 B 或 C 開頭的
--方法一
SELECT *
FROM Table
WHERE Column_1 Like '[^ABC]%'
--方法二
SELECT *
FROM Table
WHERE Column_1 Like '[ABC]%'

--尋找 Column_1 資料為4個數字
--且 第一個數字須在 0~9
--   第二個數字須在 1~8
--   第三個數字須在 2~7
--   第四個數字須在 3~6
SELECT *
FROM Table
WHERE Column_1 Like '[0-9][1-8][2-7][3-6]'

◎ 找出重複超過N次的資料

Column 的塞選是用 WHERE
ARRGREATION 的塞選是用 HAVING

--製作測試資料
DECLARE @temp TABLE
(
    [City] NVARCHAR(MAX)
)

INSERT @temp VALUES (N'K')
INSERT @temp VALUES (N'K')
INSERT @temp VALUES (N'A')

--找出 [City] 欄位重複超過 1 次的資料
SELECT City, COUNT(*) AS '次數'
FROM @temp
GROUP BY City
HAVING COUNT(*) > 1

results matching ""

    No results matching ""