数据库如何查询第二条数据且ID不同

关于数据库如何查询第二条数据且ID不同

在sever 2008数据库中,查询语句为

select * from 表名  或则   select 列名 from 表名

这是查询一个表中所有的数据,那么查询第二语句呢?

开始用“top 2”是可以查询前两条数据的,再根据指定的列名排序,这样想可以

“select top 2 * from 表名 order by 列名 desc”(desc倒序 acs正序),

但是查询出来的为最后两条的数据,可见是先倒序然后查询的头两条。那么倒序是行不通。

正序又有两条数据,要求只要一条,显然就把第一条去掉,如何去掉?首先得查询出来,

“select top 1 * from 表名 order by 列名ID”(正序不需要添加acs,本身就是正序)

再就该数据的ID去除,如何去掉就用 "not in"

"select * from 表名 where 列名ID not in (Select Top 1 列名ID from 表名 Order By 列名ID ) "

这样查询的数据就不存在第一条数据,现在的第二条成为了第一条数据。而“数据库如何查询第二条数据且ID不同”现在就是查询第一条数据而已。

"select top 1 * from 表名 where 列名ID not in (Select Top 1 列名ID from 表名 Order By 列名ID ) "

时间: 2024-12-18 10:45:47

数据库如何查询第二条数据且ID不同的相关文章

数据库已知一条数据的ID,如何查询下条数据且ID不同

数据库已知一条数据的ID,如何查询下条数据且ID不同 首先ID已知一条,假如得到的为“1001”,下条的数据ID有可能相同,有可能不相同,如何查询?如果直接查询 “Select * from 表名 where 列名ID='1001'” 就只能查询本身的一条数据,添加“top 2”,也会只有一条数据.可不可以直接查询该数据以下的数据呢? “Select * from 表名 where 列名ID>'1001' Order By 列名ID” 这样就查询大于gaiID的数据,只要下一条,再加上“top

使用JDBC向数据库中插入一条数据

原谅我是初学者,这个方法写的很烂,以后不会改进,谢谢 /** * 通过JDBC向数据库中插入一条数据 1.Statement 用于执行SQL语句的对象 1.1 通过Connection 的 * createStatement() 方法来获取 1.2 通过executeUpdate(sql) 的方法来执行SQL 1.3 * 传入的SQL可以是INSERT/UPDATE/DELETE,但不能是SELECT * * 2.Connection和Statement使用后一定要记得关闭 需要在finally

向数据库中插入10000条数据

今天,在进行项目测试的时候,想要事先在数据库中插入10000条数据.之前在SQLServer的期末项目中也使用过,但是却也记不清了. DELIMITER $$ --定义结束符为"$$", DROP PROCEDURE IF EXISTS `proc_auto_insertdata`$$ CREATE PROCEDURE `proc_auto_insertdata`() BEGIN DECLARE pid INTEGER DEFAULT 1; WHILE pid <= 10000

json代码驾照考题批量加入MySQL数据库 ps.executeUpdate()永远只能悲催的加一条数据 去掉id主键自增 for 与 foreach

package com.swift; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; im

数据库一次性插入10w条数据,怎么插入效率快

在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题 下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters). bulk方法主要思想是通过在客户端把数据都缓存在Table中,然后利用SqlBulkCopy一次性把Table中的数据插入到数据库 代码如下: public static void BulkToDB(DataTab

数据库操作:修改一条数据(thinkPHP)

第一种方法:数据库中包含有自动增长字段ID,则ID作为where条件 <?phpclass UserAction extends Action{ public function updateUser(){ $user = M('Userinfo'); //实例化Model $data = array('ID'=>5,'username'=>'王美人','email'=>'[email protected]');//$data中包含有自动增长字段uid $res = $user-&g

使用Python对MySQL数据库插入二十万条数据

1.当我们测试的时候需要大量的数据的时候,往往需要我们自己造数据,一条一条的加是不现实的,这时候就需要使用脚本来批量生成数据了. import pymysql import random import string # 建立数据库连接 mysql = pymysql.connect(host="数据库IP", user="数据库用户名",port=3306,password="数据库密码", charset='utf8', autocommit=

mybatis在查询一条数据的时候返回它的主键

场景: 我们在用 insert 语句插入一天语句的时候,希望得到这条数据的主键ID(在主键是自增的情况下),如何来实现了. 以上是要给insert语句, 可以看到新加了一个 <selectKey> 标签,这就是mybatis 实现的方法

(转)ThinkPHP find方法 查询一条数据记录

find() ThinkPHP find() 方法是和 select() 用法类似的一个方法,不同之处 find() 查询出来的始终只有一条数据,即系统自动加上了 LIMIT 1 限制. 当确认查询的数据记录只能是一条记录时,建议使用 find() 方法查询,如用户登录账号检测: public function chekUser(){ header("Content-Type:text/html; charset=utf-8"); $Dao = M("User");