日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sql 分组求和_从零学会SQL:汇总分析 D3

發布時間:2024/9/18 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql 分组求和_从零学会SQL:汇总分析 D3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2020年3月24日 星期二

大綱:

  • 匯總分析;
  • 分組;
  • 對分組結果指定條件;
  • 用sql解決業務問題;
  • 對查詢結果排序;
  • 如何看懂報錯信息。

  • 1 匯總分析

    匯總函數

    count:求某列的行數;

    計算教師姓名這一列非空值的行數:select count(教師姓名) from teacher;

    計算所有的行數:select count(*) from teacher;

    select count(成績) from score; 計算score表格成績列有多少行

    select count(distinct 成績) from score; 計算score表格成績列有多少不重復值的行

    count(*)

    sum:某列數值相加的總和,只能對數值類型進行計算。

    select sum(成績) from score; 對表格score的成績一列求和;

    avg:求平均值,只能對數值類型進行計算;

    select avg(成績) from score; 對表格score的成績一列求和;均值;

    max,min:最大,最小值

    select max(成績) ,min(成績)from score;


    練習:

    練習題

    2 sql分組:group by

    分組計算的原理

    原理

    對應的sql的語句

    sql語句

    sql運行順序

    展開

    Sql的運行順序:

    1.先運行藍框里的子句

    2.Select子句


    練習:

    查詢各科成績的最高和最低分

    查詢每門課程被選修的學生數

    查詢男生、女生人數

    查詢每個學生的最高、最低分


    3 對分組結果指定條件

    having 對分組的結果再加條件限制

    where 指定行的條件

    Sql的運行順序:

    1.先運行藍框里的子句

    2.Select子句


    練習:

    查詢平均成績大于60分學生的學號和平均成績

    查詢至少選修兩門課程的學生學號

    查詢同名同姓學生名單并統計同名人數


    4 用sql解決業務問題

    翻譯成大白話——寫出分析思路——寫出對應的sql子句

    兩個栗子:

    分析思路

    5 對查詢結果排序——order by & limit

    order by

    降序desc:從大到小

    升序asc :從小到大

    特殊情況:

    指定多個列名進行排序,從左到右(sql的):即同時有多個升序asc、降序desc。

    空值null的排序:優先,可用于空值數據的篩除。

    limit:從查詢結果中取出指定行


    練習:


    7 如何看懂報錯信息

    錯誤1:group by中使用select中定義的別名

    疑問sql是先運行group by子句,此時sql無法識別別名是什么。

    錯誤2:在where中使用聚合函數

    where中不能使用聚合函數

    錯誤3:字符串類型的數字

    為什么數據列的最大值與sql運算值不一樣??

    表中填充數值時,如果數值類型選擇錯誤,再對數值進行運算,就會按數值類型進行運算

    最后記住一張表:

    sqlzoo練習

    如果字符串有包含特殊符號

    原始數據

    因為題目要求這兩個科目排在后面,所以引入subject in ('Physics','Chemistry'),subject in ('Physics','Chemistry')返回值(0或者1),會對每一個subject做一個if的判斷,有的是1,沒有的是0,再用order by把這些值排序在下面。0排在前面,1排在后面。

    總結

    以上是生活随笔為你收集整理的sql 分组求和_从零学会SQL:汇总分析 D3的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。