SQL查找TCar表中同一辆车前后两条记录的CarId,两条记录中有多个字段值一样
查询同一个表中某一字段值相同的记录
select * from 表名
where 字段 in(select 字段 from 表名 group by 字段 having count(1)>1)
select * from 表名 a
where exists (select 1 from 表名 where 字段=a.字段 and 主键<> a.主键)
用select top 查询出多条记录的解决
这个问题在开发的时候经常会遇到,比如
写了一句查询5条记录的语句
“SELECT top 5 * FROM article order by Hits desc”
结果显示结果多于5条。
是因为,当判断条件Hits有重复时,top把重复的当成同一条记录来计算,所以多条Hits相同的记录就被当成一条了,于是把sql改成
“SELECT top 5 * FROM article order by Hits,id desc”
条件里加了个关键字段,就正常了。
select(嵌套查询)
--单行子查询
select ename,sal,deptno from emp where deptno=(select deptno from emp where ename='SCOTT')
--多行子查询
1) select ename,sal,deptno,job from emp where job in (select distinct job from emp where deptno = 10)
2) select ename,sal,deptno,job from emp where sal>all(select sal from emp where deptno = 30)
3) select ename,sal from emp where deptno = 30
4) select ename,sal,deptno,job from emp where sal>any(select sal from emp where deptno = 30)
--多列子查询
1) select ename,sal,deptno,job from emp where (deptno,job)=(select deptno,job from emp where ename ='SMITH')
update emp set sal=1500,comm=30 where ename = 'CLARK'
3) select ename,sal,comm from emp where ename = 'CLARK'
4) select ename,sal,comm,deptno from emp where(sal,nvl(comm,-1)) in (select sal,nvl(comm,-1) from emp where deptno =30)
5) select ename,sal,comm from emp where deptno=30
6) select ename,sal,comm,deptno from emp where sal in (select sal from emp where deptno = 30)and nvl(comm,-1) in(select nvl(comm,-1)from emp where deptno = 30)
SQL Server获取指定行(如第二行)的数据
1. ROW_NUMBER()
在SQL Server2005中有一个ROW_NUMBER函数,它将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号。在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是一致的,当使用ROW_NUMBER函数时,也需要专门一列用于预先排序以便于进行编号。
综上,我写了一句话:
vSQL = "select top 2 CarId from TCar a where exists (select 1 from TCar where PersonId=a.PersonId and CarId<> a.CarId and InOut<>a.InOut and CarNum = a.CarNum and CarNum ='" +
csVehicleNum + "') order by InOutTime,CarId asc"; //查找TCar表中同一辆车前后两条记录的CarId
SQL查找TCar表中同一辆车前后两条记录的CarId,两条记录中有多个字段值一样的更多相关文章
- 向SQL Server 现有表中添加新列并添加描述.
注: sql server 2005 及以上支持. 版本估计是不支持(工作环境2005,2008). 工作需要, 需要向SQL Server 现有表中添加新列并添加描述. 从而有个如下存储过程. (先 ...
- CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储
CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...
- **SQL某一表中重复某一字段重复记录查询与处理
sql某一表中重复某一字段重复记录查询与处理 1.查询出重复记录 select 重复记录字段 form 数据表 group by houseno having count(重复记录字段)> ...
- SQL语句 在一个表中插入新字段
SQL语句 在一个表中插入新字段: alter table 表名 add 字段名 字段类型 例: alter table OpenCourses add Audio varchar(50)alter ...
- EF Core中,通过实体类向SQL Server数据库表中插入数据后,实体对象是如何得到数据库表中的默认值的
我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF ...
- 将文件导入到SQL server数据库表中的字段中
一.在要执行的sql server数据库a中执行如下脚本,创建存储过程sp_textcopy /* 将二进制文件导入.导出到数据库相应字段列中 */ CREATE PROCEDURE sp_textc ...
- oracle通过sql随机取表中的10条记录
oracle通过sql随机取表中的10条记录: SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE Row ...
- SQL查询一个表中类别字段中Max()最大值对应的记录
SQL查询一个表中类别字段中Max()最大值对应的记录 SELECT A.id, A.name, A.version FROM DOC A, (SELECT id, MAX(version) ...
- sql之将一个表中的数据注入另一个表中
sql之将一个表中的数据注入另一个表中 需求:现有两张表t1,t2,现需要将t2的数据通过XZQHBM相同对应放入t1表中 t1: t2: 思路:left join 语句: select * from ...
随机推荐
- Mysql常用命令行大全(一)
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束. 1. 显示数据库列表. show databases; 缺省有两个数据库:mysql和test. mysql库存放着m ...
- Day05:装饰器,三元表达式,函数的递归,匿名/内置函数,迭代器,模块,开发目录
上节课复习:1.函数的对象 函数可以被当作数据取处理2.函数嵌套 嵌套调用:在调用一个函数时,函数体代码又调用了其他函数 嵌套定义:在一个函数内部又定义了另一个函数 def foo( ...
- 浅析C语言中strtol()函数与strtoul()函数的用法
转自:http://www.jb51.net/article/71463.htm C语言strtol()函数:将字符串转换成long(长整型数) 头文件: ? 1 #include <stdli ...
- hadoop学习路线(转)
刚刚入门hadoop,如何去学习hadoop.google一篇学习路线图,与童鞋们共勉: 转自:http://blog.csdn.net/zhoudaxia/article/details/88017 ...
- 2. docker 容器的管理(创建、查看、启动、终止、删除)
一.创建 docker create:创建容器,处于停止状态. centos:latest:centos容器:最新版本(也可以指定具体的版本号). 本地有就使用本地镜像,没有则从远程镜像库拉取. 创建 ...
- 存储过程为参数NULL时的处理方法
准备一些数据: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Goods]( ) NULL, ) NULL, ...
- 利用memoize缓存到Redis出现多个参数同一个结果
在为后端输出加入Redis缓存的过程中出现的问题. 在我利用Flask-restful架构的后端中,理所当然的利用装饰器marshal_with对我的返回数据进行格式化输出. 举个最简单的例子: fr ...
- h5模型文件转换成pb模型文件
本文主要记录Keras训练得到的.h5模型文件转换成TensorFlow的.pb文件 #*-coding:utf-8-* """ 将keras的.h5的模型文件,转换 ...
- IT兄弟连 JavaWeb教程 文件上传技术
在Web应用系统开发中,文件上传和下载功能是非常常用的功能. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参 ...
- ORM应用
目录 ORM概念 ORM由来 ORM的优势 ORM的劣势 ORM总结 ORM 与 DB 的对应关系图 Model 模块 ORM操作 增删改查操作 ORM概念 对象关系映射(Object Relatio ...