Mysql 刷題Day09

LC 585 2016年的投資

思路:

本題思路好想 , 就是把2015年投資相同的找出來 ,再找出這其中經緯度不同的id對應的2016年的保險。

實際操作中, 發現用group by很麻煩, 那么想到窗口函數也能 分組進行統計

利用 count() over (partition by)可以分組統計的同時 ,不合并原始行 , 可以很方便的查找出符合條件的行。

with temp as(
select Insurance.pid ,
tiv_2016,
count(*) over(partition by tiv_2015) cnt ,
count(*) over(partition by lat , lon) cnt2
from Insurance)select round(sum(tiv_2016) , 2) as tiv_2016 from temp
where cnt > 1 and cnt2 = 1

知識點:

1.partition by 相關語法?

count(*)  over(partition by column1[column2]) 

和group by 一樣 ,partition by 后面可以加多個字段 ,這些字段全都相同的才視為同一組。

2.group by相關語法

一開始用group by , 寫出這樣的語句

select pid from Insurance
group by tiv_2015 having count(tiv_2015) > 1

以為可以從這張表中找出 pid為1,3,4

但事實上,

  • ??GROUP BY tiv_2015??:將數據按?tiv_2015?分組,得到以下分組:
    • tiv_2015 = 10:包含?pid = 1, 3, 4
    • tiv_2015 = 20:包含?pid = 2
  • ??HAVING COUNT(...) > 1??:保留重復的?tiv_2015?分組(即?tiv_2015 = 10)。
  • ??SELECT pid??:由于?pid?不在?GROUP BY?中且非聚合列,數據庫會從?tiv_2015 = 10?的分組中 ??隨機選擇一個?pid??(如?1)。

根本原因在于 select的列必須在group by的列中 , 或者跟著聚合函數才行!

LC 185 部門工資前三高的員工

知識點

和排名相關的窗口函數

1.ROW_NUMBER()

ROW_NUMBER() OVER (ORDER BY column [ASC|DESC])

它會為每一行分配連續的序號,不管值相不相同.

2.rank()

為每一行分配排名,相同值共享同一排名,后續排名跳過重復位次。

3.dense_rank()

為每一行分配排名,相同值共享同一排名,后續排名不跳位

注意,所有和排序相關的窗口函數 , 都必須 跟 order by?

這幾種排序的窗口函數 , 符合題意得是第三種,代碼如下:

with temp as 
(select d.name Department ,e.name Employee , salary, 
dense_rank() over(partition by d.id order by salary desc )  rk 
from Employee e inner join Department d on e.departmentId = d.id)select Department , Employee , salary as Salary  from temp
where rk <= 3

LC1527 患某種疾病的患者

知識點:like的相關語法

like用于mysql中字符串的模糊匹配 ,

1.?LIKE 'abc%'?

表示 以abc開頭的字符串 ,%為通配占位符

2.LIKE '%abc%'

表示包含了abc的字符串

3.LIKE '%abc'?

表示包含以abc結尾的字符串。

記憶方法在于:%在哪邊 , 表示哪邊可以有其他的字符串內容

4. _ 占位符

用于匹配單個字符

-- 匹配第2個字符為 "a" 的字符串(如 "ba", "cat")
WHERE column LIKE '_a%';-- 匹配長度為3且第3個字符為 "x" 的字符串(如 "abx", "1x2")
WHERE column LIKE '__x';

本體思路:

一個坑點在于, 糖尿病的字符串必須以 “DIAB1”開頭 ,SADIAB100并不是糖尿病

那么, 如何判斷給出的condition中包不包含“DIAB1”呢?

這里就用到like了 ,?

分兩種情況判斷 ,

1.DIAB1位于condition的開頭 , 那么用 like 'DIAB1%'即可

2.DIAB1位于condition的中間, 而題目明確指出 , condition字符串中, 不同病癥用空格分隔,

那么 要判斷DIAB1是否包含在字符串中 , 就是判斷? ' DIAB1'(DIAB1加了個空格)是否完整出現

使用like '% DIAB1'

select patient_id , patient_name ,  conditions
from Patients
where conditions like 'DIAB1%' or conditions like '% DIAB1%'

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

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

相關文章

Lambda表達式的方法引用詳解

Lambda表達式的方法引用詳解 1. 方法引用的概念與作用 定義:方法引用(Method Reference)是Lambda表達式的一種簡化寫法,允許直接通過方法名引用已有的方法。核心目的:減少冗余代碼,提升可讀性,尤其在Lambda僅調用一個現有方法時。語法符號:雙冒號 ::。2. 方法引用的四種…

記錄python在excel中添加一列新的列

思路是&#xff0c;先將需要添加為新的列存儲到一個暫時的列表中&#xff0c;然后用到以下函數來存儲 data_.loc[:, "新列的名字"] save_list_ 上面的save_list_就是暫時存儲了信息的列表了。 以下是我的代碼&#xff0c;供以后快速回憶。 schools_data {"98…

關于flutter中Scaffold.of(context).openEndDrawer();不生效問題

原因&#xff1a; 在 Flutter 中&#xff0c;Scaffold.of(context) 會沿著當前的 context 向上查找最近的 Scaffold。如果當前的 widget 樹層級中沒有合適的 Scaffold&#xff08;比如按鈕所在的 context 是在某個子 widget 中&#xff09;&#xff0c;就找不到它。 解決辦法…

財管-1-財務分析、評價和預測

1.因素分析法&#xff1a; 報告期&#xff08;實際&#xff09;指標M1A1 * B1 * C1 基 期&#xff08;計劃&#xff09;指標M0A0 * B0 * C0……&#xff08;1&#xff09; 第一次替代 A1 * B0 * C0……&#xff08;2&#xff09; 第二次替代 A1 * B1 * C0……&#xff08;3…

golang逃逸分析

1.1 逃逸分析是什么 逃逸分析是指編譯器在執行靜態代碼分析后&#xff0c;對內存管理進行的優化和簡化。 在編譯原理中&#xff0c;分析指針動態范圍的方法被稱為逃逸分析。通俗來講&#xff0c;當一個對象的指針被多個方法或線程引用時&#xff0c;則稱這個指針發生了逃逸。…

Meetily:AI會議記錄,開源、免費、好用(本地AI實時轉錄、隱私保護一步到位!)

名人說:博觀而約取,厚積而薄發。——蘇軾《稼說送張琥》 創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder??) 目錄 一、初識Meetily:什么是真正的智能會議助手?1. 核心優勢一覽2. 技術架構揭秘二、實戰體驗:從安裝到使用的完整流程1. 系統要求2. 快速安裝指南Wi…

.NET ORM開發手冊:基于SqlSugar的高效數據訪問全攻略

SqlSuger是一個國產&#xff0c;開源ORM框架&#xff0c;具有高性能&#xff0c;使用方便&#xff0c;功能全面的特點&#xff0c;支持.NET Framework和.NET Core&#xff0c;支持各種關系型數據庫&#xff0c;分布式數據庫&#xff0c;時序數據庫。 官網地址&#xff1a;SqlS…

【論文閱讀】KIMI-VL TECHNICAL REPORT

KIMI-VL TECHNICAL REPORT 原文摘要 核心模型&#xff1a;Kimi-VL 模型架構&#xff1a;基于 MoE 設計&#xff0c;僅激活語言解碼器的 2.8B 參數&#xff08;Kimi-VL-A3B&#xff09;&#xff0c;在保持高效計算的同時實現高性能。 MoE&#xff08;Mixture of Experts&#xf…

項目管理學習-CSPM4(2)

1 前言 最近在學習CSPM的課程&#xff0c;部分內容讓我受益匪淺。建議需要提升項目管理能力的同學可以通過以考促學的方式進行學習。下面整理了一部分內容和大家分享。CSPM全稱China Standards Project Management&#xff0c;中文名為項目管理專業人員能力評價等級證書&#…

【Web前端】ECMAScript 6基礎學習

ECMAScript 6 簡介 ECMAScript 和 JavaScript 的關系:前者是后者的規格&#xff0c;后者是前者的一種實現&#xff0c;常場合&#xff0c;這兩個詞是可以互換的。 ECMAScript 6&#xff08;以下簡稱 ES6&#xff09;是 JavaScript 語言的標準&#xff0c;在 2015 年 6 月發布…

基于Python的全卷積網絡(FCN)實現路徑損耗預測

以下是一份詳細的基于Python的全卷積網絡(FCN)實現路徑損耗預測的技術文檔。本方案包含理論基礎、數據生成、模型構建、訓練優化及可視化分析,代碼實現約6000字。 基于全卷積網絡的無線信道路徑損耗預測系統 目錄 問題背景與需求分析系統架構設計合成數據生成方法全卷積網絡…

AI數字人一體機和智慧屏方案:開啟智能交互新紀元

在當今這個信息化飛速發展的時代&#xff0c;AI技術正以前所未有的速度改變著我們的生活方式和工作模式。特別是在人機交互領域&#xff0c;AI數字人的出現不僅極大地豐富了用戶體驗&#xff0c;也為各行各業提供了前所未有的創新解決方案。本文將重點介紹由廣州深聲科技有限公…

練習實踐--deepseek的使用環境搭建回顧--火山方舟

快速回顧 有更多第三方可以提供免費的大模型體驗服務&#xff0c;比如硅基流動/火山方舟&#xff0c;通過選擇指定模型&#xff0c;生成模型id和自己的API-KEY這兩個信息&#xff0c;可以在第三方集成ai工具&#xff0c;如cherry studio上使用&#xff1b; 參考來源 來自阮一…

Adminer 連接mssql sqlserver

第一步 docker-compose.yml adminer部分&#xff1a; version: 3.8 services: adminer: image: adminer:latest container_name: adminer restart: unless-stopped volumes: - ./freetds/freetds.conf:/etc/freetds.conf:rw # 確保 :rw 可讀寫 co…

JWT令牌詳解及Java中的使用實戰

JWT令牌詳解及Java中的使用實戰 摘要 本文將深入解析**JWT&#xff08;JSON Web Token&#xff09;**的核心概念&#xff0c;通過圖文并茂的方式詳解其工作原理&#xff0c;并手把手教你在Java中實現JWT的生成、驗證與解析。無論你是認證授權新手還是想鞏固知識的老手&#x…

晶圓隱裂檢測提高半導體行業效率

半導體行業是現代制造業的核心基石&#xff0c;被譽為“工業的糧食”&#xff0c;而晶圓是半導體制造的核心基板&#xff0c;其質量直接決定芯片的性能、良率和可靠性。晶圓隱裂檢測是保障半導體良率和可靠性的關鍵環節。 晶圓檢測 通過合理搭配工業相機與光學系統&#xff0c…

Java 的 ReentrantLock

Java中的ReentrantLock是java.util.concurrent.locks包下提供的一個可重入互斥鎖&#xff0c;用于替代synchronized關鍵字實現更靈活的線程同步。以下是其核心特性和使用方法的詳細說明&#xff1a; 核心特性 可重入性 同一個線程可以重復獲取同一個鎖&#xff08;鎖的持有計數…

達夢數據庫-學習-23-獲取執行計劃的N種方法

目錄 一、環境信息 二、說點什么 三、測試數據生成 四、測試語句 五、獲取執行計劃方法 1、EXPLAIN &#xff08;1&#xff09;樣例 &#xff08;2&#xff09;優勢 &#xff08;3&#xff09;劣勢 2、ET &#xff08;1&#xff09;開啟參數 &#xff08;2&#xff…

20200201工作筆記常用命令要整理

工作筆記常用命令&#xff1a; 1.repo常用命令&#xff1a; repo sync -c -j10 2. 常用adb命令 錯誤: error: device unauthorized. This adbds $ADB_VENDOR_KEYS is not set; try adb kill-server if that seems wrong. Otherwise check for a confirmation dialog on your d…

PET,Prompt Tuning,P Tuning,Lora,Qlora 大模型微調的簡介

概覽 到2025年&#xff0c;雖然PET&#xff08;Pattern-Exploiting Training&#xff09;和Prompt Tuning在學術界仍有探討&#xff0c;但在工業和生產環境中它們已基本被LoRA/QLoRA等參數高效微調&#xff08;PEFT&#xff09;方法取代 。LoRA因其實現簡單、推理零開銷&#…