Mysql刷題 day01

LC 197 上升的溫度

需求:編寫解決方案,找出與之前(昨天的)日期相比溫度更高的所有日期的?id?。

代碼:

select w2.id from Weather as w1 join Weather as w2
on DateDiff(w2.recordDate , w1.recordDate) = 1 
where w2.temperature > w1.temperature

知識點

1.DateDiff函數(a,b)接受兩個時期,并計算出a-b的值

2. 使用join自連接產生的笛卡爾積,結合DateDiff函數,可以輕松的找到相鄰的兩天

join的語法:

表1 join 表2 on 連接條件

3.

  • ON??:用于指定 ??表連接的條件??,應始終在?JOIN?后使用,這倆是固定搭配
  • ??WHERE??:用于對 ??連接后的結果?? 進行過濾。

4.sql語句中的特定書寫順序

SQL 查詢的完整語法順序??

  1. ??SELECT??
    指定要查詢的列或表達式。

  2. ??FROM??
    指定數據來源的表(或子查詢)。后面可能有連接

  3. ??WHERE??
    過濾行數據(??分組前??的過濾)。

  4. ??GROUP BY??
    對結果進行分組(通常與聚合函數一起使用)。

  5. ??HAVING??
    過濾分組后的結果(??分組后??的過濾)。

  6. ??ORDER BY??
    對結果排序。

  7. ??LIMIT?? / ??OFFSET??
    限制返回的行數或分頁

1661. 每臺機器的進程平均運行時間

需求:

現在有一個工廠網站由幾臺機器運行,每臺機器上運行著?相同數量的進程?。編寫解決方案,計算每臺機器各自完成一個進程任務的平均耗時。

完成一個進程任務的時間指進程的'end' 時間戳?減去?'start' 時間戳。平均耗時通過計算每臺機器上所有進程任務的總耗費時間除以機器上的總進程數量獲得。

結果表必須包含machine_id(機器ID)?和對應的?average time(平均耗時)?別名?processing_time,且四舍五入保留3位小數。

答案如下:

select a.machine_id , round(avg( b.timestamp - a.timestamp) , 3) as processing_time
from
Activity as a join Activity as b on a.machine_id = b.machine_id and a.process_id = b.process_id
and b.activity_type = 'end' and a.activity_type = 'start'
group by machine_id

知識點

1.round(x , [y]) 表示返回 離 x 最近的整數,可選參數 y 表示要四舍五入的小數位數,如果省略,則返回整數。

2.聚合函數avg:

AVG(expression)返回一個表達式的平均值,expression 是一個字段

返回 Products 表中Price 字段的平均值:

3.聚合函數后面 常常跟著group by 指定分組條件

比如此處的 , 如果不加 group by a.machine_id

avg(b.timestamp - a.timestamp)

會直接把所有行的 timestamp的差值求平均,那么此時就會報錯,因為前面還select 了一個a.machine_id , sql引擎不知道把這個全局平均值分配給誰

因此,加上group by之后,會按a.machine_id分組后再求平均值 ,比方說a.machine_id = 0有兩行,就會把這兩行的數據求平均值,分為一組,同理1 , 2。

4.常見的聚合函數:?SUMAVGCOUNTMAXMIN ,當 ??SELECT?語句中同時包含聚合函數和非聚合列?? 時,必須使用?GROUP BY?對非聚合列分組。否則會報錯!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81012.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81012.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81012.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

鴻蒙OSUniApp 制作個人信息編輯界面與頭像上傳功能#三方框架 #Uniapp

UniApp 制作個人信息編輯界面與頭像上傳功能 前言 最近在做一個社交類小程序時,遇到了需要實現用戶資料編輯和頭像上傳的需求。這個功能看似簡單,但要做好用戶體驗和兼容多端,還是有不少細節需要處理。經過一番摸索,總結出了一套…

科技的成就(六十八)

623、杰文斯悖論 杰文斯悖論是1865年經濟學家威廉斯坦利杰文斯提出的一悖論:當技術進步提高了效率,資源消耗不僅沒有減少,反而激增。例如,瓦特改良的蒸汽機讓煤炭燃燒更加高效,但結果卻是煤炭需求飆升。 624、代碼混…

榮耀手機,系統MagicOS 9.0 USB配置沒有音頻來源后無法被adb檢測到,無法真機調試的解決辦法

榮耀手機,系統MagicOS 9.0 USB配置沒有音頻來源后無法被adb檢測到,無法真機調試的解決辦法 前言環境說明操作方法 前言 一直在使用的uni-app真機運行榮耀手機方法,都是通過設置USB配置的音頻來源才能成功。突然,因為我的手機的系…

D-Pointer(Pimpl)設計模式(指向實現的指針)

Qt 的 D-Pointer(Pimpl)設計模式 1. Pimpl 模式簡介 Pimpl(Pointer to Implementation)是一種設計模式,用于將類的接口與實現分離,從而隱藏實現細節,降低編譯依賴,提高代碼的可維護…

MySQL 8.0 OCP 1Z0-908 101-110題

Q101.which two queries are examples of successful SQL injection attacks? A.SELECT id, name FROM backup_before WHERE name‘; DROP TABLE injection; --’; B. SELECT id, name FROM user WHERE id23 oR id32 OR 11; C. SELECT id, name FROM user WHERE user.id (SEL…

Vue ElementUI原生upload修改字體大小和區域寬度

Vue ElementUI原生upload修改字體大小和區域寬度 修改后 代碼 新增的修改樣式代碼 .upload-demo /deep/ .el-upload-dragger{width: 700px;height: 300px; }原有拖拽組件代碼 <!-- 拖拽上傳組件 --><el-uploadclass"upload-demo"dragaction"":m…

React和Vue在前端開發中, 通常選擇哪一個

React和Vue的選擇需結合具體需求&#xff1a; 選React的場景 大型企業級應用&#xff0c;需處理復雜狀態&#xff08;如電商、社交平臺&#xff09;團隊熟悉JavaScript&#xff0c;已有React技術棧積累需要高度靈活的架構&#xff08;React僅專注視圖層&#xff0c;可自由搭配…

Python爬蟲實戰:研究源碼還原技術,實現逆向解密

1. 引言 在網絡爬蟲技術實際應用中,目標網站常采用各種加密手段保護數據傳輸和業務邏輯。傳統逆向解密方法依賴人工分析和調試,效率低下且易出錯。隨著 Web 應用復雜度提升,特別是 JavaScript 混淆技術廣泛應用,傳統方法面臨更大挑戰。 本文提出基于源碼還原的逆向解密方法…

什么是alpaca 或 sharegpt 格式的數據集?

環境&#xff1a; LLaMA-Factory 問題描述&#xff1a; alpaca 或 sharegpt 格式的數據集&#xff1f; 解決方案&#xff1a; “Alpaca”和“ShareGPT”格式的數據集&#xff0c;是近年來在開源大語言模型微調和對話數據構建領域比較流行的兩種格式。它們主要用于訓練和微調…

OpenCV CUDA模塊中矩陣操作------矩陣元素求和

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 在OpenCV的CUDA模塊中&#xff0c;矩陣元素求和類函數主要用于計算矩陣元素的總和、絕對值之和以及平方和。這些操作對于圖像處理中的特征提取、…

給視頻加一個動畫。

為什么要給視頻加一個動畫&#xff1f; 很完整的視頻也就是從短動畫開始的。遮蓋住LOG用。 C:\Users\Sam\Desktop\desktop\startup\workpython\ocr Lottie.py import subprocessdef run_ffmpeg(cmd):print("Running:", " ".join(cmd))subprocess.run(cm…

15:00開始面試,15:06就出來了,問的問題有點變態。。。

從小廠出來&#xff0c;沒想到在另一家公司又寄了。 到這家公司開始上班&#xff0c;加班是每天必不可少的&#xff0c;看在錢給的比較多的份上&#xff0c;就不太計較了。沒想到4月一紙通知&#xff0c;所有人不準加班&#xff0c;加班費不僅沒有了&#xff0c;薪資還要降40%…

使用命令行拉取 Git 倉庫

1. 克隆遠程倉庫&#xff08;首次獲取&#xff09; # 克隆倉庫到當前目錄&#xff08;默認使用 HTTPS 協議&#xff09; git clone https://github.com/用戶名/倉庫名.git# 克隆倉庫到指定目錄 git clone https://github.com/用戶名/倉庫名.git 自定義目錄名# 使用 SSH 協議克隆…

如何禁止chrome自動更新

百度了一下 下面這個方法實測有效 目錄 1、WINR 輸入 services.msc 2、在Services彈窗中找到下面兩個service并disable 3、驗證是否禁止更新成功&#xff1a; 1、WINR 輸入 services.msc 2、在Services彈窗中找到下面兩個service并disable GoogleUpdater InternalService…

數據庫事務以及JDBC實現事務

一、數據庫事務 數據庫事務&#xff08;Database Transaction&#xff09;是數據庫管理系統中的一個核心概念&#xff0c;它代表一組操作的集合&#xff0c;這些操作要么全部執行成功&#xff0c;要么全部不執行&#xff0c;即操作數據的最小執行單元&#xff0c;保證數據庫的…

【vue】【環境配置】項目無法npm run serve,顯示node版本過低

解決方案&#xff1a;安裝高版本node&#xff0c;并且啟用高版本node 步驟&#xff1a; 1、查看當前版本 node -v2、配置nvm下載鏡像源 1&#xff09;查看配置文件位置 npm root2&#xff09;找到settings.txt文件 修改鏡像源為&#xff1a; node_mirror: https://npmmirro…

WPF之INotifyPropertyChanged實現

文章目錄 引言INotifyPropertyChanged接口基礎接口定義工作原理 基本實現方式標準實現示例CallerMemberName特性 高級實現技術基類實現通知多個屬性變化使用PropertyChanging事件 MVVM框架中的實現MVVM模式簡介MVVM框架中的實現Prism框架MVVM Light框架自定義MVVM基類 性能優化…

【MCP教程系列】SpringBoot 搭建基于 Spring AI 的 SSE 模式 MCP 服務

原文地址&#xff1a;https://developer.aliyun.com/article/1662946 在當今快速發展的AI技術背景下&#xff0c;如何高效地集成模型能力成為開發者關注的重點。本文將手把手教你如何基于 Spring AI 搭建支持 SSE&#xff08;Server-Sent Events&#xff09;模式的 MCP 服務 相…

springboot集成langchain4j實現票務助手實戰

前言 看此篇的前置知識為langchain4j整合springboot&#xff0c;以及springboot集成langchain4j記憶對話。 Function-Calls介紹 langchain4j 中的 Function Calls&#xff08;函數調用&#xff09;是一種讓大語言模型&#xff08;LLM&#xff09;與外部工具&#xff08;如 A…

MySQL-數據庫分布式XA事務

準備 innodb存儲引擎開啟支持分布式事務 set global innodb_support_axonMySQL數據庫XA事務的SQL語法如下&#xff1a; XA {START| BEGIN} xid {JOIN | RESUME} XA END xid {SUSPEND [ FOR MIGRATE]} XA PREPARE xid XA COMMIT xid [ONE PHASE] XA ROLLBACK xid XA RECOVER 完…