sql如下
站在用戶的角度思考問題,與客戶深入溝通,找到郁南網(wǎng)站設計與郁南網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋郁南地區(qū)。
select Name,avg(Score) as 平均分 from tbl group by Name order by avg(Score) desc;
請參考。
如果有幫助到你,請點擊采納。
分組函數(shù),分局函數(shù)一共有5種,所有的分組的函數(shù)都是對一組數(shù)據(jù)進行操作的
count(計數(shù))
avg(平均值)
sum(求和)
max(最大值)
min(最小值)
示列代碼
select count(需要求條數(shù)的字段值) from map;
注意:count會自動忽略null,并不把null算入計數(shù),
在sql的數(shù)學表達式中只要參與運算的一個值為null那么整條數(shù)據(jù)的結果就為null,還有所有的數(shù)據(jù)庫在運算的時候只要有null參與運算結果一定是null比如:
select (aprice+price) from map;(其中的一個值為null)
但是還有一個問題比如price的值為4因為前一個字段值為null所以獲得的結果也為null但是我們還需要用到price的值這時候我們就要用到另一個函數(shù)ifnull它會把為null的字段值當成0來看這樣結果就為4了:
SELECT (IFNULL(aprice,0)+price) FROM map
select avg(需要求平均值的字段值)
from map;
select sum(需要求和字段值) from map;select max(需要求最大值的字段值) from map;select min(需要求最小值的字段值) from map
2.group by 和having
group by :按照某個字段獲某些字段對數(shù)據(jù)進行分組
having :是對你group by 分組后的數(shù)據(jù)進行過濾,能用where解決的過濾建議用where解決
示列
SELECT address FROM map GROUP BY address HAVING address !='eqeq';
注意:
分組函數(shù)一般都會和group by 聯(lián)合使用任何一個分組函數(shù)都在group by 執(zhí)行之后執(zhí)行當一條sql語句沒有group by 的話整張表會自成一組,還有分組函數(shù)不能寫在where后面因為group by 是在where執(zhí)行之后執(zhí)行的
DQL語句執(zhí)行順序
5.select
1.from
2.where
3.group by
4.having
6.order by
3.去重 distinct去除重復記錄
SELECT DISTINCT 字段值 FROM 表;
錯誤示列
SELECT 返回值,DISTINCT 字段值 FROM 表;
記住:distinct必須出現(xiàn)在所有字段的最前面,如果
如果你要查詢所有的列 只按name分組 會報錯的 所有都要根據(jù)type,name,guest,date 分組select type,name guest date from table order by date desc group by name,type,guest