select函数

ROW_NUMBER() OVER函数的基本用法

我们两清 提交于 2020-04-08 10:34:41
select * from ( select * ,row_number() over(partition by DDID order by DDID desc) y from LDZBSCJH where HTBH='V01461' ) as b where y <>1 SqlServer四种排序:ROW_NUMBER()/RANK()/DENSE_RANK()/ntile() over() 先看一下最简单的sql语句以及最原始的效果图: SELECT a.userName,a.userid FROM dbo.t_user a 【四种排序方式】 1.ROW_NUMBER()排序 我们将这几行数据进行简单的排序,另给一个新的列RN SELECT a.userName,a.userid,ROW_NUMBER()OVER (order by a.userName) AS RN FROM dbo.t_user a 这时,我想针对名字这一列,将重复的数据以1开头排序,不存在重复的就是1 SELECT a.userName,a.userid,ROW_NUMBER()OVER (partition by a.userName ORDER by a.userName) AS RN FROM dbo.t_user a 2.RANK()排序 SELECT a.userName,a.userid

MySQL5.7特性:JSON数据类型

谁说胖子不能爱 提交于 2020-04-07 10:52:00
概述 MySQL5.7的发行声明中,官方称之为里程碑式的版本,除了运行速度大幅度提升之外,还添加了之前版本没有的功能,如本文所述的原生JSON数据类型功能。 在此版本之前,MySQL所有的JSON数据类型,全部是使用text等文本类型来实现的,数据的处理只能在应用代码级来实现,十分不方便。 什么是JSON类型 作为DBA,可能会对这个概念稍微有点陌生,但是对于开发者来说,这是一个十分熟悉的事物。 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 MySQL原始JSON类型的优势在哪? 原生的JSON优势如下: 存储上类似text,可以存非常大的数据。 存储在JSON列中的JSON文档的自动验证 。无效的文档会产生错误。 优化的存储格式。存储在JSON列中的JSON文档将 转换为内部格式,以允许对文档元素进行快速读取访问。 相比于传统形式,不需要遍历所有字符串才能找到数据。 支持索引:通过虚拟列的功能可以对JSON中部分的数据进行索引。 MySQL的JSON类型

java语法基础

a 夏天 提交于 2020-04-07 07:19:39
java很多语法都跟C#类似,下面列举一些不同的地方******注意***** java中的系统方法首字母都是小写的,而C#中首字母都是大写的 1、java中继承的用法   class children extends parent   {   } 而c#中:   class children :parent   {   } java中继承接口的用法   class children implements parent   {   } 而c#中:   class children :parent   {   } 2、还有一点很重要的事java中的main函数所在的类名必须和文件名相同。   其次是在一个文件中只能main函数所在的类是public修饰的,其他不能带public ,一个文件中只能有一个public类。   java中的静态成员既可以实例化对象调用,也可以类名来点出来,非静态成员只能实例化对象调用。****没有静态类   而在C#中静态成员不能实例化对象调用 3、java中方法的重写就方法的覆盖,貌似真的是覆盖,就是重新写一遍   而C#中的重写要用关键字override,并且只能是抽象和虚方法或者标记为override才能重写。 4、java中有一个特殊的static语句块功能,static语句块中的语句在构造函数之前执行且只执行一次 5、java和C

MySQL 查询优化器(二)

谁都会走 提交于 2020-04-07 05:36:48
1.6多个查询字段(常量条件) 多个查询字段的查询处理逻辑如下所示: JOIN:prepare阶段 setup_tables():同1.1测试。 setup_fields():同1.1测试。 setup_conds():同1.4测试。 JOIN:optimize阶段 optimize_cond():类似1.4测试,不同之处在于查询的where条件中有恒等常量,在优化过程中会调用remove_eq_conds将1=1条件删除。 make_join_statistics():与1.4测试类似,由于where条件查询有两个,并且其中一个条件可以通过索引查询。因此首先通过调用update_ref_and_keys()(sql\sql_select.cc:3967)函数,查找可以使用索引的字段。 SQL_SELECT::test_quick_select():同1.5索引测试 get_key_scans_params():同1.5索引测试。 choose_plan():同1.3测试。 greedy_search():同1.3测试。 best_extension_by_limited_search():同1.5索引测试。 JOIN:exec阶段 以下操作同1.3测试。 通过测试可以看出,对于常量等式对查询优化器来说没有任何意义,会在optimize_conds时将常量等式删除

orecle常用函数

谁都会走 提交于 2020-04-07 02:32:33
Oracle SQL 提供了用于执行特定操作的专用函数。这些函数大大增强了 SQL 语言的功能。函数可以接受零个或者多个输入参数,并返回一个输出结果。 oracle 数据库 中主要使用两种类型的函数 1 单行函数对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果,   比如:MOD(x,y)返回 x 除以 y 的余数(x 和 y 可以是两个整数,也可以是表中的整   数列)。常用的单行函数有:   Ø 字符函数:对字符串操作。   Ø 数字函数:对数字进行计算,返回一个数字。   Ø 转换函数:可以将一种数据类型转换为另外一种数据类型。   Ø 日期函数:对日期和时间进行处理。 2. 聚合函数:聚合函数同时可以对多行数据进行操作,并返回一个结果。比如 SUM(x)   返回结果集中 x 列的总合。 一、字符函数 字符函数接受字符参数,这些参数可以是表中的列,也可以是一个字符串表达式。 常用的字符函数: 函数 说明 ASCII(X) 返回字符X的ASCII码 CONCAT(X,Y) 连接字符串X和Y INSTR(X,STR[,START][,N) 从X中查找str,可以指定从start开始,也可以指定从n开始 LENGTH(X) 返回X的长度 LOWER(X) X转换成小写 UPPER(X) X转换成大写 LTRIM(X[,TRIM_STR]) 把X的左边截去trim

Transact SQL 常用语句以及函数

末鹿安然 提交于 2020-04-07 00:54:24
Transact SQL 语 句 功 能 ========================================================================    -- 数据操作    SELECT -- 从数据库表中检索数据行和列        INSERT -- 向数据库表添加新数据行        DELETE -- 从数据库表中删除数据行        UPDATE -- 更新数据库表中的数据    -- 数据定义    CREATE TABLE -- 创建一个数据库表        DROP TABLE -- 从数据库中删除表        ALTER TABLE -- 修改数据库表结构        CREATE VIEW -- 创建一个视图        DROP VIEW -- 从数据库中删除视图        CREATE INDEX -- 为数据库表创建一个索引        DROP INDEX -- 从数据库中删除索引        CREATE PROCEDURE -- 创建一个存储过程        DROP PROCEDURE -- 从数据库中删除存储过程        CREATE TRIGGER -- 创建一个触发器        DROP TRIGGER -- 从数据库中删除触发器        CREATE

Transact SQL 常用语句以及函数

狂风中的少年 提交于 2020-04-07 00:06:11
Transact SQL 语 句 功 能 ========================================================================    -- 数据操作    SELECT -- 从数据库表中检索数据行和列        INSERT -- 向数据库表添加新数据行        DELETE -- 从数据库表中删除数据行        UPDATE -- 更新数据库表中的数据    -- 数据定义    CREATE TABLE -- 创建一个数据库表        DROP TABLE -- 从数据库中删除表        ALTER TABLE -- 修改数据库表结构        CREATE VIEW -- 创建一个视图        DROP VIEW -- 从数据库中删除视图        CREATE INDEX -- 为数据库表创建一个索引        DROP INDEX -- 从数据库中删除索引        CREATE PROCEDURE -- 创建一个存储过程        DROP PROCEDURE -- 从数据库中删除存储过程        CREATE TRIGGER -- 创建一个触发器        DROP TRIGGER -- 从数据库中删除触发器        CREATE

存储例程

徘徊边缘 提交于 2020-04-04 17:59:57
存储例程 存储例程是存储程序的一种类型,本质上也是封装了一些可执行的语句,只不过它的调用方式是:需要手动去调用!存储例程又可以分为存储函数和存储过程。 存储函数 创建存储函数 存储函数其实就是一种函数,只不过在这个函数里可以执行命令语句而已。函数它可以把处理某个问题的过程封装起来,之后直接调用函数就可以去解决同样的问题了。MySQL 中定义存储函数的语句如下: CREATE FUNCTION 存储函数名称([参数列表]) RETURNS 返回值类型 BEGIN 函数体内容 END 从这里可以看出,定义一个存储函数需要指定函数名称、参数列表、返回值类型以及函数体内容,如果该函数不需要参数,那参数列表可以被省略,函数体内容可以包括一条或多条语句,每条语句都要以分号 ; 结尾。里边的制表符和换行仅仅是为了好看,完全可以用空格代替。 mysql> delimiter $ mysql> create function avg_score(s varchar(100)) -> returns double -> begin -> return (select avg(score) from student_score where subject = s); -> end $ Query OK, 0 rows affected (0.01 sec) 定义了一个名叫 avg_score 的函数

MySQL 复习笔记

笑着哭i 提交于 2020-03-31 05:27:31
本文内容 SQL 语句 创建数据库 创建数据表 数据完整性约束 四种基本字符类型说明 SQL 基本语句 类型转换函数 日期函数 数学函数 字符串函数 合并结果集 union CASE 函数用法 IF ELSE 语法 WHILE 循环语法 子查询 表连接 join 事务 视图 触发器 存储过程 分页存储过程 索引 临时表 1,SQL 语句 SQL 语言:结构化的查询语言(Structured Query Language),是关系数据库管理系统的标准语言。是一种解释语言,写一句执行一句,不需要整体编译执行。 语法特点: 1.没有“ ”,字符串使用‘ ’包含 2.没有逻辑相等,赋值和逻辑相等都是= 3.类型不再是最严格的。任何数据都可以包含在‘ ’以内 4.没有 bool 值的概念,但是在视图中可以输入true/false 5.有关系运算符:> < >= <= = <> != ,它返回一个bool值 6.有逻辑运算符: !(not) &&(and) ||(or) 7.不区别大小写 2,创建数据库 语法: create database 数据库名称 on primary --默认在主文件组上 ( name='逻辑名称_data' , --当你发现它不是一句完整的sql语句,而仅仅是一个处理结构中的某一句的时候,就需要添加 , size=初始大小, --数值不包含在‘’以内

socket编程的select模型

爷,独闯天下 提交于 2020-03-28 01:56:57
在掌握了socket相关的一些函数后,套接字编程还是比较简单的,日常工作中碰到很多的问题就是客户端/服务器模型中,如何让服务端在同一时间高效的处理多个客户端的连接,我们的处理办法可能会是在服务端不停的监听客户端的请求,有新的请求到达时,开辟一个新的线程去和该客户端进行后续处理,但是这样针对每一个客户端都需要去开辟一个新的线程,效率必定底下。 其实,socket编程提供了很多的模型来处理这种情形,我们只要按照模型去实现我们的代码就可以解决这个问题。主要有select模型和重叠I/o模型,以及完成端口模型。这次,我们主要介绍下select模型,该模型又分为普通select模型,wsaasyncselect模型,wsaeventselect模型。我们将通过样例代码的方式逐一介绍。 一、select模型 使用该模型时,在服务端我们可以开辟两个线程,一个线程用来监听客户端的连接 请求,另一个用来处理客户端的请求。主要用到的函数为select函数。如: 全局变量: fd_set g_fdClientSock; 线程1处理函数: SOCKET listenSock = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); sockaddr_in sin; sin.sin_family = AF_INET; sin.sin_port = htons(7788);