当前位置: 首页 > news >正文

【Oracle】常用数据库sql记录

文章目录

      • 1、获取指定日期所在年份
      • 2、获取指定日期所在月份
      • 3、获取指定日期去年同期日期
      • 4、获取指定日期所在年份的总天数
      • 5、获取年初到指定日期的天数
      • 6、除法运算
      • 7、递归查询
      • 8、REPLACE函数
      • 9、DECODE 函数
      • 10、聚合函数
      • 11、窗口函数
        • 11.1 ROW_NUMBER函数
        • 11.2 RANK函数
        • 11.3 LEAD 和 LAG函数
        • 11.4 SUM函数
          • 11.4.1 统计年度累计金额
          • 11.4.2 统计去年同期累计金额
        • 11.5 数据透视(pivot)操作
      • 12、常用sql
      • 13、ORACLE表闪回
      • 14、DBLink
        • 14.1 创建 Database Link
        • 14.2 查询远程数据库
        • 14.3 执行 DML 操作
        • 14.4 删除 Database Link
        • 14.5 授权 Database Link
        • 14.6 确认授权

1、获取指定日期所在年份

SELECTEXTRACT(YEAR  FROM TO_DATE('2023-11-02', 'yyyy-MM-dd')) AS year
FROMdual;

2、获取指定日期所在月份

SELECTEXTRACT(MONTH FROM TO_DATE('2023-11-02', 'yyyy-MM-dd')) AS month
FROMdual;

3、获取指定日期去年同期日期

SELECTADD_MONTHS(TRUNC(TO_DATE('2023-11-02', 'yyyy-MM-dd')), -12) AS last_date
FROMdual;

4、获取指定日期所在年份的总天数

1、使用 EXTRACT 函数从日期字符串 ‘2023-11-15’ 中提取年份;
2、TO_DATE(‘2023-11-02’, ‘YYYY-MM-DD’) 将日期字符串转换为日期格式;
3、TO_CHAR(…, ‘YYYY’) 将日期转换为字符串;
4、 TO_NUMBER 将字符串转换为数字;
5、MOD 函数用于计算年份除以 4 的余数,如果余数为 0,则该年为闰年,返回 366 天;否则返回 365 天。

SELECTCASEWHEN (MOD(EXTRACT(YEAR FROM TO_DATE('2023-11-02', 'yyyy-MM-dd')),4) = 0AND MOD(EXTRACT(YEAR FROM TO_DATE('2023-11-02', 'yyyy-MM-dd')),100) != 0)OR MOD(EXTRACT(YEAR FROM TO_DATE('2023-11-02', 'yyyy-MM-dd')),400) = 0THEN 366ELSE 365END AS days
FROMdual;

5、获取年初到指定日期的天数

TRUNC(your_date, ‘YYYY’)用于将日期截断为年初。然后,通过从日期列中减去年初的日期来计算到年初的天数。天数需要加1。

SELECTTO_DATE('2023-01-02', 'yyyy-MM-dd') - trunc( TO_DATE('2023-01-02', 'yyyy-MM-dd'), 'yyyy') + 1 AS days
FROMdual;

6、除法运算

CASEWHEN amt = 0 THEN NULL-- 或者其他处理方式,比如返回 NULLELSE ROUND(pay_amt / amt, 4)* 100
END AS ratio

对于除法运算,要判断除数是否为0当除数为 NULL时,计算结果通常也是 NULL


7、递归查询

用于层次结构的数据,比如组织架构、地区划分等。

SELECT*
FROMrelationship a
START WITHa.parent_code = '0'
CONNECT BYPRIOR a.code = a.parent_code;
  1. 起始条件是 parent_code=‘0’,然后通过 connect by prior 条件递归地沿着自连接关系遍历子集;
  2. START WITH 子句指定了起始条件,这里是从 parent_code='0' 的记录开始;
  3. CONNECT BY PRIOR 子句用于指定递归条件,a.code = a.parent_code 表示每次迭代都会沿着 code 和 parent_code 相等的路径向下查找;

8、REPLACE函数

REPLACE 函数会将原始日期中的年份部分替换为另一个字段的年份部分。确保替换后的格式与原始日期相匹配。

--original_date 是原始日期字段。
--another_date 是作为替换参考的日期字段。
--desired_date 是想要替换成的日期字段。SELECTREPLACE(TO_CHAR(original_date, 'YYYY-MM-DD'), TO_CHAR(another_date, 'YYYY'), TO_CHAR(desired_date, 'YYYY')) AS replaced_date
FROM your_table;

9、DECODE 函数

DECODE 函数是 Oracle 提供的一种条件表达式函数,用于根据指定条件返回不同的结果。

DECODE(expression, search1, result1, search2, result2, ..., default_result)decode(i2.incom_year_amt,0,null,ROUND((i1.incom_year_amt-i2.incom_year_amt)/ i2.incom_year_amt, 4)* 100) AS incratio
  1. expression 是需要进行比较的表达式或列;
  2. search1, search2, … 是希望与表达式比较的值;
  3. result1, result2, … 是如果表达式等于相应搜索值时返回的结果;
  4. default_result 是当表达式与所有搜索值均不匹配时的默认返回值(可选的);
  5. DECODE 函数按照给定的搜索值逐个匹配表达式,如果找到匹配的搜索值,则返回相应的结果。如果没有找到匹配的搜索值,且提供了默认结果,则返回默认结果。

10、聚合函数

  1. 常见的聚合函数包括 SUM、AVG、COUNT、MAX、MIN 等;
  2. 用于将多行数据聚合为单个结果,例如计算总和、平均值、计数等;
  3. 经常用于与 GROUP BY 子句一起使用,以便按组执行聚合操作;
SELECTsum(amt) AS all_amt
FROM your_table  group by mof_div_code,report_date;

11、窗口函数

  1. 常见的窗口函数包括 ROW_NUMBER、RANK、LEAD、LAG、SUM 等;
  2. 用于对数据集中的特定窗口(也称为分区)执行计算;
  3. 可以在查询结果中添加一列或几列,而不会像聚合函数那样汇总数据。窗口函数通常与 OVER 子句一起使用,该子句定义了要应用窗口函数的数据窗口;

语法:

<窗口函数>() OVER (PARTITION BY 分区字段ORDER BY 排序字段ROWS/RANGE 子句
)
11.1 ROW_NUMBER函数

为结果集中的每一行分配一个唯一的数字,通常用于排序后按顺序编号。

SELECT column1,column2,ROW_NUMBER() OVER (ORDER BY column1) AS row_num
FROM your_table;
11.2 RANK函数

为结果集中的每一行分配一个排名,如果有相同值,则排名相同,下一个排名按照次序递增。

SELECT RANK() OVER (ORDER BY column_name) AS rank_value,column_name
FROM table_name;
11.3 LEAD 和 LAG函数

LEAD() 和 LAG():分别用于获取当前行后面和前面的行的值。

SELECT RANK() OVER (ORDER BY column_name) AS rank_value,column_name
FROM table_name;
11.4 SUM函数

用于计算指定列的总和,结合窗口函数使用时可计算分组内的累计总和。比如需要统计某一年到指定日期的汇总金额。

SELECT column_name,SUM(column_name) OVER (PARTITION BY group_column ORDER BY order_column) AS running_total
FROM table_name;
11.4.1 统计年度累计金额
SUM(INCOM_DAY_AMT) OVER (PARTITION BY FISCAL_YEAR ORDER BY MOF_DIV_CODE,FUND_TYPE_CODE,REPORT_DATE) AS cur_day_total
  1. SUM(INCOM_DAY_AMT): 这部分是求和的基本函数;
  2. OVER: 表示开始窗口函数的定义;
  3. ARTITION BY EXTRACT(YEAR FROM REPORT_DATE): 这个部分是将数据按照年份进行分区,意味着对每一年的数据进行分组;
  4. ORDER BY MOF_DIV_CODE, FUND_TYPE_CODE, REPORT_DATE: 这里指定了窗口函数的排序顺序,首先按照 MOF_DIV_CODE、FUND_TYPE_CODE、REPORT_DATE 进行排序;
    综合起来,这个查询会对每年的数据进行分组,并按照给定的顺序计算每个分组内的累计金额,结果将返回每一行数据所在年度的累计金额
11.4.2 统计去年同期累计金额
SUM(INCOM_DAY_AMT) OVER (PARTITION BY EXTRACT(YEAR FROM ADD_MONTHS(TRUNC(REPORT_DATE), -12)) ORDER BY MOF_DIV_CODE,FUND_TYPE_CODE,ADD_MONTHS(TRUNC(REPORT_DATE), -12)) AS pre_year_to_date_total  
11.5 数据透视(pivot)操作

PIVOT 是 SQL 中的一种操作,它用于将行数据转换为列数据,可以进行数据透视(pivot)操作。PIVOT 操作常用于聚合和重新排列数据,将行转换为列以更直观地展示汇总信息。

SELECT *
FROM (-- 原始查询,生成需要透视的数据-- 包含需要进行透视操作的字段
) 
PIVOT (-- 聚合函数和要透视的字段AGGREGATE_FUNCTION(column_name)FOR pivot_column IN (value1 AS alias1, value2 AS alias2, ..., valueN AS aliasN)
)
  1. AGGREGATE_FUNCTION:聚合函数,例如 SUM()、COUNT()、AVG() 等;
  2. column_name:要透视的列;
  3. pivot_column:用于透视的列,即希望将其值作为新列的列;
  4. value1, value2, …, valueN:pivot_column 列中可能包含的值;
  5. alias1, alias2, …, aliasN:可选,为透视后的列指定别名;

举例:

SELECT *
FROM (SELECT department, employee_name, salaryFROM employee_salary
)
PIVOT (SUM(salary)FOR department IN ('HR' AS hr_salary, 'IT' AS it_salary, 'Finance' AS finance_salary)
)

将 employee_salary 表按照部门进行透视,生成新的列 ‘HR’ AS hr_salary, ‘IT’ AS it_salary, ‘Finance’ AS finance_salary,每列包含相应部门的薪资总和


12、常用sql

  1. 金额字段增减随机数
UPDATE tablename
SET CL_CUR_AMT  = CL_CUR_AMT - FLOOR(DBMS_RANDOM.VALUE(100000000, 500000000)) where REPORT_DATE  = TO_DATE('2022-12-03','yyyy-MM-dd') ;
  1. 替换字段指定位置值

SUBSTR 函数结合 CONCAT 或 || 运算符来替换一个字段的前两位。

--CONCAT
UPDATE FM_LEDGER_AGENCY set MOF_DIV_CODE  = CONCAT('21', SUBSTR(MOF_DIV_CODE , 3)) ;-- || 运算符
SELECT 'new' || SUBSTR(old_field, 3) AS replaced_field
FROM your_table;
  1. LISTAGG函数

LISTAGG 函数用于将多行数据聚合成一个以指定分隔符分隔的字符串。它通常与 GROUP BY 子句一起使用,用于对分组内的数据进行字符串连接。

SELECT LISTAGG(sub_mof_div_code, ',') WITHIN GROUP (ORDER BY sub_mof_div_code) AS name_list 
from GAP_MOF_DIV_RELATION group by mof_div_code

这个查询的结果将返回一个名为 name_list 的列,其中包含了按照每个 mof_div_code 分组的所有 sub_mof_div_code 值,以逗号分隔,并按照 sub_mof_div_code 进行排序后的字符串。

13、ORACLE表闪回

  1. 闪回前进行查询
select * from (select * from GAP_MENU  as of timestamp to_timestamp('2023-08-17 19:50:00','YYYY-MM-DD HH24:MI:SS'))where NAME in ('三保预警管理','三保运行监测','三保风险管控','三保配置管理');
  1. 被闪回的表必须启用行移动功能
alter table GAP_MENU enable row movement;
  1. 指定时间闪回
flashback table GAP_MENU  to scn timestamp_to_scn (to_date('2023-08-17 19:50:00','yyyy-mm-dd hh24:mi:ss'));
  1. 关闭移动功能
alter table GAP_MENU  enable row movement; 

14、DBLink

DBLink 提供了一种方式来执行跨数据库的查询和操作。

14.1 创建 Database Link
--remote_db 链接指定的名称
--remote_user、remote_password是远程数据库的用户名和密码
--remote_db_host 主机
--remote_db_service 服务名
create public database link remote_db    
connect to remote_user identified by remote_password
using 
'(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =remote_db_host)(PORT = 1521))
(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = remote_db_service)))';
14.2 查询远程数据库
SELECT * FROM table_name@remote_db;
14.3 执行 DML 操作
INSERT INTO remote_table@remote_db (column1, column2) VALUES (value1, value2);
14.4 删除 Database Link
DROP DATABASE LINK remote_db;
14.5 授权 Database Link
GRANT CREATE DATABASE LINK TO your_user;
14.6 确认授权
SELECT * FROM DBA_SYS_PRIVS WHERE PRIVILEGE = 'CREATE DATABASE LINK' AND GRANTEE = 'your_user';

相关文章:

【Oracle】常用数据库sql记录

文章目录 1、获取指定日期所在年份2、获取指定日期所在月份3、获取指定日期去年同期日期4、获取指定日期所在年份的总天数5、获取年初到指定日期的天数6、除法运算7、递归查询8、REPLACE函数9、DECODE 函数10、聚合函数11、窗口函数11.1 ROW_NUMBER函数11.2 RANK函数11.3 LEAD …...

在线监控网址源码/ 网站监控工具源码/ 网站监控系统源码/定时任务/网站网址URL状态监控神器

源码介绍&#xff1a; 在线监控网址源码、 网站监控工具源码&#xff0c;它作为网站监控系统源码&#xff0c;有定时任务&#xff0c;支持卡密充值&#xff0c;是网站网址URL状态监控神器。让数据库监控更加简单和专业。远程云中监控、实时邮件告警、丰富的指标和图表、分析和…...

【Mysql】myisam和innodb的区别?

0 回答 myisam引擎是5.1版本之前的默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用,而且myisam不支持外键,并且索引和数据是分开存储的。innodb是基于聚簇索引建立的,和myisam相反它支持事务、外键,并且通…...

vue 集成行政区域选择插件region和数据回显

故事&#xff1a;最近&#xff0c;项目需要进行行政区域围栏的绘制&#xff0c;由于老旧项目是利用js保存全国行政区域地址和编码&#xff0c;在选择器select进行匹配显示&#xff0c;但此方法复杂&#xff0c;因此选择集成区域插件region 步骤一&#xff1a;用命令安装region…...

The LINQ expression “xxx“ could not be translated

错误示例&#xff1a; var A B .GroupBy(item > item.id) .Select(groupedList > new { PlannerId groupedList.Key, RxList groupedList }); 解决方案&#xff1a; var A B .GroupBy(item > item.id) .Select(groupedList > new { PlannerId groupedList.…...

ubuntu下搜索文件的几种方法

一、whereis命令&#xff1a; whereis命令只能用于程序名的搜索&#xff0c;而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数&#xff0c;则返回所有信息。 whereis的命令格式&#xff1a; whereis [-bmsu] [BMS 目录名 -f ] 文…...

openCV图像SIFT特征

SIFT&#xff08;尺度不变特征变换&#xff09;是一种用于计算图像局部特征的算法&#xff0c;它对图像的尺度、旋转和亮度变化具有不变性。SIFT特征在计算机视觉领域被广泛应用于目标识别、图像配准、三维重建等任务中。 SIFT特征的计算包括以下几个步骤&#xff1a; 尺度空…...

黑豹程序员-axios+springmvc传递数组

问题 奇怪的现象&#xff0c;axios在往后台传递数组时&#xff0c;springmvc竟然接收不到 解决 尝试多次无果&#xff0c;突然看一篇文章写vue中的数组不是真正的数组需要强转转化JSON.stringify 将信将疑下测试了一把&#xff0c;还真的传递成功了。 不光要JSON.stringify…...

34.用过JavaConfig方式的spring配置吗?它是如何替代xml的?

用过JavaConfig方式的spring配置吗?它是如何替代xml的? 基于Java的配置,允许你在少量的Java注解的帮助下,进行你的大部分Spring配置而非通过XML文件。 以@Configuration 注解为例,它用来标记类可以当做一个bean的定义,被Spring IOC容器使用。 另一个例子是@Bean注解,它…...

解析Python的Lambda函数:【理解】与【运用】

目录 引言理解Lambda函数定义语法Lambda函数的特点 Lambda函数使用场景举例小结结束语 引言 在Python编程语言中&#xff0c;Lambda函数是一种特殊的函数形式&#xff0c;它以【简洁】、【快速】和【轻量级】而闻名。Lambda函数在需要短小函数的地方非常有用&#xff0c;比如在…...

C语言:实现字符串连接

在C语言中&#xff0c;字符串通常以字符数组的形式存储。连接两个或多个字符串是一项常见的任务。本博客将介绍如何使用C语言来实现字符串的连接。 库函数实现&#xff1a; strcat() 是C标准库中提供的一个函数&#xff0c;用于将一个字符串&#xff08;源字符串&#xff09;…...

物联网终端设备众多,为何遥测终端机备受瞩目?

遥测终端机是一种用于数据采集、远程传输、数据存储与处理的综合体设备&#xff0c;已逐渐成为现代智能物联领域的焦点。遥测终端机集成了多种传感器与通信模块&#xff0c;能够实时采集各种环境参数&#xff0c;如温度、湿度、压力、流量等&#xff0c;同时支持无线通信&#…...

Swagger快速上手

快速开始&#xff1a; 导入maven包 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.7.0</version> </dependency><dependency><groupId>io.springfox<…...

1.1 Python的起源与发展

一、Python的起源 Python的起源可以追溯到1989年&#xff0c;当时荷兰计算机科学家Guido van Rossum在阿姆斯特丹的CWI&#xff08;荷兰计算机科学研究所&#xff09;工作。他曾参与开发过一门名为ABC的语言&#xff0c;然而这门语言并未能成为主流。因此&#xff0c;Guido va…...

springboot + thymeleaf + layui 初尝试

一、背景 公司运营的同事有个任务&#xff0c;提供一个数据文件给我&#xff0c;然后从数据库中找出对应的加密串再导出来给他。这个活不算是很难&#xff0c;但时不时就会有需求。 同事给我的文件有时是给excel表格&#xff0c;每一行有4列&#xff0c;逗号隔开&#xff0c;…...

2024年网络安全竞赛-Web安全应用

Web安全应用 (一)拓扑图 任务环境说明: 1.获取PHP的版本号作为Flag值提交;(例如:5.2.14) 2.获取MySQL数据库的版本号作为Flag值提交;(例如:5.0.22) 3.获取系统的内核版本号作为Flag值提交;(例如:2.6.18) 4.获取网站后台管理员admin用户的密码作为Flag值提交…...

【改进YOLOv8】车辆测距预警系统:融合空间和通道重建卷积SCConv改进YOLOv8

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义&#xff1a; 随着交通工具的普及和道路交通的不断增加&#xff0c;车辆安全问题日益凸显。特别是在高速公路等高速道路上&#xff0c;车辆之间的距离和速度差异较…...

YOLOv8改进 | 2023Neck篇 | 利用RepGFPN改进特征融合层(附yaml文件+添加教程)

一、本文介绍 本文给大家带来的改进机制是Damo-YOLO的RepGFPN&#xff08;重参数化泛化特征金字塔网络&#xff09;&#xff0c;利用其优化YOLOv8的Neck部分&#xff0c;可以在不影响计算量的同时大幅度涨点&#xff08;亲测在小目标和大目标检测的数据集上效果均表现良好涨点…...

关于“Python”的核心知识点整理大全21

9.3.2 Python 2.7 中的继承 在Python 2.7中&#xff0c;继承语法稍有不同&#xff0c;ElectricCar类的定义类似于下面这样&#xff1a; class Car(object):def __init__(self, make, model, year):--snip-- class ElectricCar(Car):def __init__(self, make, model, year):supe…...

Sui承诺向流动性质押协议投入$SUI

Sui将提供SUI以支持三个流动性质押协议及其相应的流动性质押token&#xff08; Liquid Staking Tokens&#xff0c;LST&#xff09;&#xff0c;为网络上不断增长的DeFi领域增加了流动性。此次注入将加强LST在交易和其他DeFi 用途中的流动性。 流动性质押让SUI所有者通过将其t…...

LiuJuan Z-Image效果对比展示:BF16 vs FP16在人像细节与稳定性上的差异

1. 1. 1. 1. 1. 1. 1. 1. 1. 概述 1. 1. 1. 概述 1. 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 1. 概述 1. 概述 1. 概述 1. 概述 1. 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1…...

手把手教学:用SiameseAOE从海量文本中提取“属性-观点”对

手把手教学&#xff1a;用SiameseAOE从海量文本中提取"属性-观点"对 1. 为什么需要属性观点抽取&#xff1f; 在日常工作中&#xff0c;我们经常遇到这样的场景&#xff1a;面对成千上万条用户评论、社交媒体反馈或调查问卷&#xff0c;如何快速找出有价值的信息&a…...

Qwen3-0.6B-FP8模型服务化:使用Git进行版本管理与CI/CD集成

Qwen3-0.6B-FP8模型服务化&#xff1a;使用Git进行版本管理与CI/CD集成 1. 引言 咱们做AI模型部署的&#xff0c;是不是经常遇到这种烦心事&#xff1a;好不容易把模型服务调通了&#xff0c;过两天想加点新功能&#xff0c;结果发现原来的配置参数、客户端代码、甚至API封装…...

保姆级教程:在PVE上5分钟搞定一个Ubuntu LXC容器,并配置好Docker环境

5分钟极速部署&#xff1a;PVE上Ubuntu LXC容器与Docker环境全自动配置指南 刚接触家庭服务器的朋友往往被复杂的虚拟化环境劝退。今天分享的这套方案&#xff0c;能让你在PVE平台上用不到5分钟时间&#xff0c;快速获得一个开箱即用的Ubuntu容器&#xff0c;并预装好Docker环境…...

新手避坑指南:给UR机械臂选配RealSense D435相机,这5个参数千万别看错

新手避坑指南&#xff1a;给UR机械臂选配RealSense D435相机&#xff0c;这5个参数千万别看错 第一次为UR机械臂选配深度相机时&#xff0c;我盯着RealSense D435的参数表发呆了半小时——那些专业术语像天书一样。直到项目因选型错误延误两周后&#xff0c;我才明白参数表里藏…...

open_clip多模态模型实战指南:从技术原理到产业落地

open_clip多模态模型实战指南&#xff1a;从技术原理到产业落地 【免费下载链接】open_clip An open source implementation of CLIP. 项目地址: https://gitcode.com/GitHub_Trending/op/open_clip 核心价值&#xff1a;为什么选择open_clip&#xff1f; 在当今AI应用…...

U盘频繁提示“驱动器存在问题”?三步教你彻底修复并避免数据丢失

1. 为什么U盘会频繁提示“驱动器存在问题”&#xff1f; 每次插入U盘都弹出那个烦人的提示框&#xff0c;就像有个唠叨的管家在耳边不停提醒"您的U盘有问题啦&#xff01;"。这种情况我遇到过太多次了&#xff0c;特别是在使用时间较久的U盘上。其实这个提示背后隐藏…...

VLN性能提升秘籍:详解JanusVLN的‘记忆宫殿’如何解决长期导航的内存爆炸问题

VLN性能优化实战&#xff1a;JanusVLN混合记忆机制解析与工程落地指南 1. 视觉语言导航的工程挑战与性能瓶颈 在智能家居助手、仓储机器人等实际应用场景中&#xff0c;视觉语言导航&#xff08;VLN&#xff09;系统经常面临三大核心性能挑战。首先是内存占用失控——传统方法需…...

Python异步服务部署与无服务器架构实践指南

Python异步服务部署与无服务器架构实践指南 【免费下载链接】uvicorn An ASGI web server, for Python. &#x1f984; 项目地址: https://gitcode.com/GitHub_Trending/uv/uvicorn 在云原生应用开发领域&#xff0c;Python异步服务部署正成为构建高性能后端系统的首选方…...

2022 年 9 月青少年软编等考 C 语言四级真题解析

目录 T1. 最长上升子序列 思路分析 T2. 神奇的口袋 思路分析 T3. 滑雪 思路分析 T4. 删除数字 思路分析 T1. 最长上升子序列 题目链接:SOJ D1205 一个数的序列 b i b_i bi...