函數(shù)分組統(tǒng)計(jì)
合計(jì)函數(shù)-COUNT
- 基本句型:
SELECT COUNT(*)|COUNT(列名) FROM tablename [WHERE where_definition];
(COUNT和后面的括號(hào)之間沒有空格轴合,COUNT(col)不會(huì)計(jì)入NULL) - 統(tǒng)計(jì)一個(gè)班共有多少學(xué)生?
SELECT COUNT(*) FROM students;
- 統(tǒng)計(jì)數(shù)學(xué)成績大于90的學(xué)生有多少個(gè)耘沼?
SELECT COUNT(*) FROM students WHERE math > 90;
- 統(tǒng)計(jì)總分大于250的人數(shù)有多少碌冶?
SELECT COUNT(*) FROM students WHERE (chinese + english + math) > 90;
合計(jì)函數(shù)-SUM
- 注意:sum僅對數(shù)值起作用,否則會(huì)報(bào)錯(cuò)霍骄;對多列求和台囱,“,”號(hào)不能少。(sum(A+B+C),A,B,C為三列读整,如果某行記錄中A列值為NULL簿训,則不統(tǒng)計(jì)這行。)
- 基本句型:
SELECT SUM(列名){,SUM(列名)...} FROM tablename [WHERE where_definition]
- 統(tǒng)計(jì)一個(gè)班級數(shù)學(xué)總成績
SELECT SUM(math) FROM students;
- 統(tǒng)計(jì)一個(gè)班級語文米间、英語强品、數(shù)學(xué)各科的總成績
SELECT SUM(chinese),SUM(english),SUM(math) FROM students;
- 統(tǒng)計(jì)一個(gè)班級語文、英語屈糊、數(shù)學(xué)的成績總和
SELECT SUM(chinese + english + math) FROM students;
- 統(tǒng)計(jì)一個(gè)班級語文成績平均分
SELECT SUM(chinese)/COUNT(*) FROM students;
合計(jì)函數(shù)-AVG
- AVG函數(shù)返回滿足WHERE條件的一列的平均值
- 基本句型:
SELECT AVG(col) FROM table;
- 求一個(gè)班級數(shù)學(xué)平均分
SELECT AVG(math) FROM students;
(AVG不會(huì)計(jì)入NULL) - 求一個(gè)班級總分平均分
SELECT AVG(chinese + english + math) FROM students;
合計(jì)函數(shù)-MAX/MIN
- 基本句型:(MAX/MIN函數(shù)返回滿足WHERE條件的一列的最大/最小值)
SELECT MAX(col)/MIN(col) FROM table [WHERE where_definition];
- 求班級最高分和最低分(數(shù)值范圍在統(tǒng)計(jì)中特別有用)
SELECT MAX(chinese + english + math) FROM students;
SELECT MIN(chinese + english + math) FROM students;
分組語句-GROUP BY [HAVING]
- 使用GROUP BY子句對列進(jìn)行分組
基本句型:
SELECT col1,col2... FROM table GROUP BY column;
注意:可以使用“`”(英文輸入狀態(tài)下ESC按鍵下的那個(gè)按鍵)把關(guān)鍵字包含起來的榛,當(dāng)作普通字符串對待。比如:order
可以作為表名存在逻锐,而不會(huì)被認(rèn)為ORDER關(guān)鍵字困曙。(但是不推薦)
- 對訂單中商品歸類后表伦,顯示每一類商品的總價(jià)
SELECT product,SUM(price) FROM t_order GROUP BY product;
- 使用having子句過濾(GROUP BY后不能使用WHERE )
查詢購買了幾類商品,并且每類總價(jià)大于100的商品
SELECT product,SUM(price) FROM t_order GROUP BY product HAVING SUM(price) > 100;
一些函數(shù)
時(shí)間日期相關(guān)函數(shù)
數(shù)學(xué)相關(guān)函數(shù)
字符串相關(guān)函數(shù)
數(shù)據(jù)庫備份慷丽,恢復(fù)
備份
- 在MySQL的bin文件里有一個(gè)mysqldump.exe程序蹦哼。(在dos命令模式下執(zhí)行命令)
mysqldump -h localhost -u root -p mydb1>d:\\mydb1.sql
(兩個(gè)“\”是因?yàn)椤癨m”是轉(zhuǎn)義字符)
恢復(fù)
- 先創(chuàng)建數(shù)據(jù)庫名,并選擇數(shù)據(jù)庫
方式一:SOURCE d:\\mydb1.sql;
(在mysql下執(zhí)行該命令)
方式二:mysql -u root -p mydb1<d:\\mydb1.sql
(在dos命令行下執(zhí)行該命令)