【黃啊碼】MySQL入門—4、掌握這些數據篩選技能比你學python還有用-1

来源:https://www.cnblogs.com/huangama/archive/2022/07/22/16506706.html
-Advertisement-
Play Games

大家好!我是黃啊碼,今天沒繼續select * 了吧,如果還繼續,那接下來的課程先別學,回去好好把之前的課程重覆複習一遍,學明白了我們再會?廢話不多說,學今天的課程之前我們先來說說這幾個詞是怎麼個執行順序: LIMIT、DISTINCT、 FROM 、 WHERE、GROUP BY、 HAVING ...


大家好!我是黃啊碼,今天沒繼續select * 了吧,如果還繼續,那接下來的課程先別學,回去好好把之前的課程重覆複習一遍,學明白了我們再會?廢話不多說,學今天的課程之前我們先來說說這幾個詞是怎麼個執行順序:

LIMIT、DISTINCT、 FROM 、 WHERE、GROUP BY、 HAVING 、 ORDER BY

stop!先別百度,如果知道,直接在評論區把答案敲上去,然後再拉滾動條看答案:

看不見。。。看不見。。。看不見。。。看不見。。。看不見。。。看不見。。。看不見。。。看不見。。。看不見。。。FROM > WHERE > GROUP BY > HAVING > SELECT 的欄位 > DISTINCT > ORDER BY > LIMIT
看到答案了是吧?對的話,啪啪啪,說快了,叫你們給自己鼓掌哈。

好了,看課表今天的重點知識點:

"Where"是MySQL基礎查詢的數據過濾關鍵詞
"Group"是MySQL分組查詢的數據彙總關鍵詞
"Having"是MySQL分組查詢的數據過濾關鍵詞
如果你把上邊這三句語句弄明白了,今天的課你不用上也行。

你:什麼?不用上?啊碼,我明白了。

黃啊碼:啪,明白啥,隨口說說而已,你以為這裡可以隨便讓你進進出出的,老老實實上課。

from
你:這個我懂,where are you from

黃啊碼:I am from CSDN

啪!!

黃啊碼:這是csdn中國,不要跟我說外語,from表示從一個表中檢索數據。

比如:

select * from user_info


你:啊碼,你用了select *

黃啊碼:啪,就你多嘴,我只是舉個慄子

你:行,你是大佬,請。

where
用於篩選數據,比如我要查user_name為張三的數據

select * from user_info where user_name='張三'

 

你:啊碼,這個好簡單啊

黃啊碼:簡單歸簡單,但還是要認真學下去;

你:喳!噗!【說錯了,是遵旨】

group by
用於數據分組查詢,一般跟聚合函數配合實用。

常用的聚合函數:

count(col): 表示求指定列的總行數
max(col): 表示求指定列的最大值
min(col): 表示求指定列的最小值
sum(col): 表示求指定列的和
avg(col): 表示求指定列的平均值
你:啊碼,你一下子就丟出這麼多,我感覺有點吃力。

黃啊碼:啪,學習時用來提升自己的價值的,不然你怎麼升職加薪走向人生巔峰。

你:啊碼說得對。【就怕還沒到巔峰先摔下來】

舉例:比如我想拿user_info裡邊每個名字同名的分別有幾個

select user_name,count(user_id) from user_info GROUP BY user_name


你:這張三怎麼跟小明一樣到處都有?

黃啊碼:說得好像你學編程就沒玩過helloworld似的。

你:哈哈哈,我資料庫一般也不寫helloworld。

黃啊碼:啪,跟我杠,先賞你五丈紅。

having
當我們用到聚合函數,如sum,count後,又需要篩選條件時,having就派上用場了,因為WHERE是在聚合前篩選記錄的,having和group by是組合著用的

上邊我們已經拿到各個同名的擁有的人數了,現在如果想把法外狂徒張三這個特殊例子拿出來,我們該怎麼辦呢?來,走起

select user_name,count(user_id) from user_info GROUP BY user_name having count(user_id)>=2

 

你:啊碼你真厲害,法外狂徒張三就這樣被你抓到了?

黃啊碼:彩虹屁就別放了,就問你會了嗎?

你:會!!

黃啊碼:真的?那我問你,把這個語句用as簡寫出來。

你:額,,,額,,,額,,,

黃啊碼:啪,看黑板,還說你會?

select user_name,count(user_id) as count from user_info GROUP BY user_name having count>=2

你:這語句看起來好像也不省心?

黃啊碼:那,這樣呢?

select user_name,count(user_id) count from user_info GROUP BY user_name having count>=2

你:行吧,“偷工減料”你第二,沒人敢第一

黃啊碼:啪,翅膀硬了?

order by
排序,這個上節課咱們講過了,我就直接給例子吧

例子:將count>=1的數據按count排序

select user_name,count(user_id) count from user_info GROUP BY user_name having count>=1 order by count desc

 

黃啊碼:大聰明,會了嗎?

你:應該,或許,也許會了吧。

黃啊碼:啪,會就是會,不會就是不會,哪來哪麽多的廢話。

你:好的,還不會,不過回去會好好學習的。

黃啊碼:終於算是聽進去了。

好了,今天的課程學到這裡,有問題的留個言,別忘了一鍵三連,下次我們還會再見!

最後留個作業,不是這文章出現了幾個“啪”,這作業過時了。作業就是:group by可以用在多個欄位嗎?比如group by user_name 和user_id,知道的評論區留言,不知道的明天點關註,明天看啊碼的講解

我是黃啊碼,碼字的碼,退。。。退。。。退。。。朝!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • linux系統中Nginx+FFmPeg實現網頁監控視頻播放配置過程 1.安裝好的nginx上添加模塊nginx-http-fiv-module-master 此模塊是rtmp模塊的升級版,有它所有的功能,因此安裝它 (1)從GitHub上下載該模塊,將壓縮包放到nginx目錄的/usr/local ...
  • Linux中查看文件的最後幾行 背景 當我們需要查看某個很大的文件時,查看全部內容會非常耗時,還會因為文件過大,查看起來非常的不方便,下麵我們介紹一下Linux的幾種文件查看方式 查看 catalina.out 文件後100行 tail -n 100 catalina.out 查看文件命令 cat ...
  • 重新聲明 1.允許在程式的任何位置使用 var 重新聲明 JavaScript 變數: 實例 var x = 10; // 現在,x 為 10 var x = 6; // 現在,x 為 6 2.在相同的作用域,或在相同的塊中,通過 let 重新聲明一個 var 變數是不允許的: 實例 var x = ...
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 在虛擬機中利用wget命令下載安裝相關應用時,提示:-bash: wget: 未找到命令 問題原因: 1、伺服器本身沒有自帶安裝wget,但一般很少有這種情況出現。 2、伺服器自帶的wget版本過低,無法通過wget命令去安裝其它應用。 . 解決 ...
  • 相信之前使用過Win版系統的朋友們對這款VMware Fusion Pro for Mac應該都不會陌生,這款軟體以其強大的功能和適配能力廣受用戶的好評,在Mac端也同樣是一款最受用戶歡迎之一的虛擬機軟體,VM虛擬機mac版可以讓您能夠輕鬆的在Apple的macOS和Mac的硬體上無縫運行Windo ...
  • 1、cannot verify <mydomainname> certificate, issued by ‘/C=US/O=Let’s Encrypt/CN=R3’: 解決1:wget --no-check-certificate <website> //再運行一遍 解決2:sudo yum in ...
  • 七、分詞器 7.1、分詞器介紹 瞭解分詞器的概念 分詞器(Analyzer)是將一段文本,按照一定邏輯,拆分成多個詞語的一種工具,如下所示 華為手機 > 華為、手、手機 ElasticSearch 內置分詞器有以下幾種 Standard Analyzer 預設分詞器,按詞/字切分,小寫處理 (英文) ...
  • 大家好!我是黃啊碼,上節課留的作業大家都做了嗎?沒做的話回去做完再來聽課。 好了,先來解答上節課留下的問題: 我們在資料庫表中新增一列user_height表示身高,然後拿到所有數據: 我們如果單單用user_age來分組看看結果如何: 你:這也太簡單了吧,我來: select * from use ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...