Q200510-02-02: 重复的DNA序列 SQL解法
2024-08-30 21:40:13
重复的DNA序列
所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。
编写一个函数来查找 DNA 分子中所有出现超过一次的 10 个字母长的序列(子串)。
示例:
输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"
输出:["AAAAACCCCC", "CCCCCAAAAA"]
使用Oracle11g数据库
最终SQL及结果:
SQL> select sub from
2 (select count(*) as cnt,sub from
3 (select substr(a.sery,b.rn,10) as sub
4 from tb_string a,
5 (select rownum as rn from dual connect by level<=(select length(max(sery)) from tb_string )) b) c
6 group by sub) d
7 where d.cnt>1; SUB
--------------------
AAAAACCCCC
CCCCCAAAAA
思考过程:
create table tb_string(
id number(4,0) primary key,
sery nvarchar2(50) not null) insert into tb_string(id,sery) values('','AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT'); select rownum
from dual
connect by level<=(select length(max(sery)) from tb_string ); select *
from tb_string,
(select rownum from dual connect by level<=(select length(max(sery)) from tb_string )) a select substr(a.sery,b.rn,10) as sub
from tb_string a,
(select rownum as rn from dual connect by level<=(select length(max(sery)) from tb_string )) b select count(*) as cnt,sub from
(select substr(a.sery,b.rn,10) as sub
from tb_string a,
(select rownum as rn from dual connect by level<=(select length(max(sery)) from tb_string )) b) c
group by sub select sub from
(select count(*) as cnt,sub from
(select substr(a.sery,b.rn,10) as sub
from tb_string a,
(select rownum as rn from dual connect by level<=(select length(max(sery)) from tb_string )) b) c
group by sub) d
where d.cnt>1
--2020年5月11日 --
最新文章
- OnlineTV 电视播放工具
- 喜大普奔,微软Microsoft JDBC Driver For SQL Server已发布到maven中央仓库
- Webstorm官方最新版本for Mac版本 不用注册码/破坏原文件
- 系统配置文件的加载设置-以xml文件为例
- 一个共享内存hash
- 二十八、带给我们一种新的编码思路——EFW框架CS系统开发中的MVC模式探讨
- Object Pascal 控制语句
- robotframework笔记25
- JavaPersistenceWithHibernate第二版笔记-第五章-Mapping value types-006类型转换器( @Converter(autoApply = true) 、type=";converter:qualified.ConverterName"; )
- [POJ] #1005# I Think I Need a Houseboat : 浮点数运算
- TextField的文字距左边框的距离偏移
- android布局2
- Java基础知识强化47:StringBuffer类之StringBuffer的三个面试题
- asp中的动态数组
- 《C#并发编程经典实例》学习笔记—2.2 返回完成的任务
- python+appium模拟手机物理按键操作
- IntelliJ IDEA 使提示不区分大小写
- ide phpStorm 配置PHP路径并本地执行PHP脚本
- Mesh内存分配器的mmap小技巧
- [OpenCV] Install OpenCV 3.4 with DNN