首页 > 其他分享 >1527-患某种疾病的患者

1527-患某种疾病的患者

时间:2023-07-11 15:58:04浏览次数:51  
标签:patient -- 患者 Patients pa 1527 conditions 某种

患某种疾病的患者

原文地址:1527. 患某种疾病的患者 - 力扣(LeetCode)

  • 题目如下所示

个人题解

这题看起来需要做 MySQL 当中的字符串分割,难度很大。但是其实只使用一个LIKE关键字就能解决,骚操作。以下为个人思考过程

  • -- 1. 建表
    CREATE TABLE 1527_Patients(
    	patient_id INT,
    	patient_name VARCHAR(20),
    	conditions VARCHAR(50),
    	PRIMARY KEY(patient_id)
    );
    -- conditions 表示 包含 0 个或以上的疾病代码,以空格分隔
    
    -- 2. 编写 SQL,查询患有 I 类糖尿病的患者 ID ,患者姓名,以及其患有的所有疾病代码。I 类糖尿病的代码总是包含前缀 DIBA1
    
    -- 这题题干说明 conditions 字段中的值以空格作为分隔符,MySQL 中如何做分割呢?
    -- 目前还不了解
    
    -- SUBSTRING_INDEX(str,delim,count)
    
    SELECT SUBSTRING_INDEX(pa.conditions,' ', LENGTH(pa.conditions) - LENGTH(REPLACE(pa.conditions,' ','')) + 1) FROM 1527_Patients pa;
    
    -- ... 不会用
    
    -- 难道说简单用 like 就可以?总感觉不对,因为前面也有可能是 ... ADIAB100 ...,很明显这个不对啊
    
    SELECT pa.patient_id, pa.patient_name, pa.conditions FROM 1527_Patients pa WHERE pa.conditions LIKE '%DIAB1%';
    
    -- 拿去试了一下,果然不行
    -- 那只能去看大佬们的题解了
    
    -- ...............................
    
    -- 巧用 like 关键字的 % 
    SELECT pa.patient_id, pa.patient_name, pa.conditions FROM 1527_Patients pa WHERE pa.conditions LIKE 'DIAB1%' OR pa.conditions LIKE '% DIAB1%';
    
    -- 这两个条件分别表示,conditions 当中 字符串以 DIAB1 开头,结果不管,第二个表示以空格作为分隔符后疾病的前缀
    

标签:patient,--,患者,Patients,pa,1527,conditions,某种
From: https://www.cnblogs.com/OnlyOnYourself-lzw/p/17544952.html

相关文章

  • 为医生打造专属数字分身!华为云联合万木健康打造医疗医学科普和患者教育数字人引擎
    摘要:如今,医生出镜的视频已经成为喜闻乐见的医学科普和患者教育手段,但医生难以抽出时间拍摄、拍摄时间较长、成本较高等制作痛点也日益凸显。对此,国内首个医生AI数字人运营服务商——成都万木健康科技有限公司找到了破局之法。本文分享自华为云社区《为医生打造专属数字分身!华为云......
  • mockito5.4.0单元测试(5) --校验mock对象的某种方法的准确调用次数
     mokito官方文档地址:https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#exact_verification//mock一个对象LinkedListmockedList=mock(LinkedList.class);//使用mock对象来操作mockedList.add("once");//添加"once"一次......
  • 三个博弈-巴什博奕、威佐夫博弈、尼姆博弈。acm博弈算法笔记HDU 2149,1850,1527
    博弈论(一)、acm博弈基础算法BashGame,NimGame和WythoffGame(即巴什博奕、尼姆博弈、威佐夫博弈)Bash  Game: 同余理论Nim   Game: 异或理论WythoffGame: 黄金分割(二)、三个博弈。1、巴什博奕。只有一堆n个物品,两个人轮流从这堆物品中取物, 规定每次至少取一个,......
  • 某种程度上亚马逊 OpenSearch 成功了
    导读据悉,某种程度上亚马逊OpenSearch成功了某种程度上亚马逊OpenSearch成功了2021年,开发Elasticsearch和Kibana的Elastic公司宣布更改许可证,此举旨在禁止云服务商如AWS使用它的软件作为一种服务提供给客户,但这也意味着这两个软件不再是开源软件。发生此事......
  • 【视频】R语言生存分析原理与晚期肺癌患者分析案例|数据分享|附代码数据
    原文链接:http://tecdat.cn/?p=10278最近我们被客户要求撰写关于生存分析的研究报告,包括一些图形和统计输出。生存分析(也称为工程中的可靠性分析)的目标是在协变量和事件时间之间建立联系生存分析的名称源于临床研究,其中预测死亡时间,即生存,通常是主要目标。视频:R语言生存分析原......
  • CF1527E, Partition Game
    题意定义一个数组的\(cost\)为数组中出现过的每个元素的最后一个位置减第一个位置。\[cost(array)=\sum_{x\inset(array)}last(x)-first(x)\]给定一个\(N\)个数的数组\(A\),将其分为\(K\)段,求最小\(cost\)。题解设\(dp_{i,j}\)为前\(i\)个数分为\(j\)段的......
  • PCRE库某种情况下如果匹配慢
    如果被匹配的内容超过几十兆字节,pcre2_match()中的倒数第三个参数选用:0 ,就会很慢,如果匹配次数多,就会非常慢。我用一个20兆的文件,匹配90000多个电话号,一天时间都没有匹配结束。但是这个参数如果用了  PCRE2_NO_UTF_CHECK  ,秒完......
  • 【视频】R语言生存分析原理与晚期肺癌患者分析案例|数据分享|附代码数据
    原文链接:http://tecdat.cn/?p=10278最近我们被客户要求撰写关于生存分析的研究报告,包括一些图形和统计输出。生存分析(也称为工程中的可靠性分析)的目标是在协变量和事件时间之间建立联系生存分析的名称源于临床研究,其中预测死亡时间,即生存,通常是主要目标。生存分析是一种回归问......
  • HDU 1527 取石子游戏(博弈论)
    取石子游戏TimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3717    AcceptedSubmission(s):1868ProblemDescription有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有......
  • 【230419-5】在某种信息传输过程中,用4个数字的一个排列表示1个信息,不同排列表示不同信
    ......