iT邦幫忙

DAY 10
0

SQL指令好簡單,也好好玩系列 第 10

SQL指令好簡單,也好好玩(第十天--Select 常用語法之二)

接續昨天的話題,Select一些常用的語法還有以下方式

一、以群組方式進行運算 ( Group by )
假設資料表裡的資料如下:
A01 A02
01 5
01 4
02 3
03 2
02 4
用法:Select A01,sum(A02) AS CC from AAA Group by A01
結果:
A01 CC
01 9
02 7
03 2
它會以A01欄位為主, 將A01欄位值同相資料的A02欄位值做加總
這個在做計算加總時很常用到哦..

二、Group by裡的條件式(Having)
在做Group by時也是可以做條件式的篩選
但是不可用Where做篩選哦..
是用Having來做篩選
用法:Select A01,sum(A02) AS CC from AAA Group by A01 Having A01 = '01'
結果:
A01 CC
01 9
因為用了Having做篩選,所以執行結果的資料筆數就變啦..

有了這招,就可以方便取得資料並做統計運算
當然也不是只能用來做統計運算,還有很多其它的運用方式..


上一篇
SQL指令好簡單,也好好玩(第九天--Select 常用語法之一)
下一篇
SQL指令好簡單,也好好玩(第十一天--Select 常用語法之三)
系列文
SQL指令好簡單,也好好玩12

1 則留言

0
丁大丙
iT邦研究生 5 級 ‧ 2014-09-25 17:53:50

來偷偷吐槽一下.count(),sum()搞混囉.

<pre class="c" name="code">CREATE TABLE ithelp0925(
A01 CHAR(2) NOT NULL,
A02 INT UNSIGNED NOT NULL
);

INSERT INTO ithelp0925(A01, A02) VALUES
('01', 5),
('01', 4),
('02', 3),
('03', 2),
('02', 4);

SELECT A01
     , COUNT(A02) AS CC
     , SUM(A02) AS DD
  FROM ithelp0925
 GROUP BY A01;

+-----+----+------+
| A01 | CC | DD   |
+-----+----+------+
| 01  |  2 |    9 |
| 02  |  2 |    7 |
| 03  |  1 |    2 |
+-----+----+------+
魯大 iT邦高手 1 級 ‧ 2014-09-26 17:24:49 檢舉

哈哈,還真的是搞混了... 臉紅

魯大 iT邦高手 1 級 ‧ 2014-09-26 17:26:54 檢舉

感謝指教.. 謝謝

我要留言

立即登入留言