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