A. sql 语句如何查找指定记录
注意排序的列,子查询用原来的排序方式,取52行用倒序
select top 1 * from (select top 52 * from 表 where ... order by ...) order by ... desc
比如你原来是用id排序就是这样
select top 1 * from (select top 52 * from 表 order by id) order by id desc
B. sql查询完记录之后怎么从查询出的语句中随机提取出指定数量的记录
select t1.id,t1.name from
(select top 1000 id,name from 表名 where 条件 order by id) as t1
where 条件
类似于这样就好
把结果集as成一个t1
括号内的查询就是我写了个例子,你可以随意写你的sql语句
C. sql读取指定记录
oracle中是这么写的:
显示表中第10条到20条记录
select * from 表名 where rownum<21
minus
select * from 表名 where rownum<10
这个其实就是通过minus求得一个差集,当然还有其它的方法,如有兴趣可一起探讨,呵呵~
D. sql:用group by分组后,每组随意取一个记录
select 楼栋id,楼栋名称,管理人员联系方式,层高,面积
from (
select 楼栋id,楼栋名称,管理人员联系方式,row_number() over(partition by 楼栋id order by 层高 desc) rn,层高,SUM(建筑面积) OVER(PARTITION BY 楼栋id) as 面积
from dbo.进阶视图_楼栋对用房单位
) a
where rn=1;
E. 请问,在SQL中,如何在一个表中每个不同字段各取N条记录
如果随意取2条记录,可写成语句如下:
select
dept,Max(人员)
from
a
Group
By
dept
Union
All
select
dept,Min(人员)
from
a
Group
By
dept;
F. SQL语句选取某个区间的记录怎么编写
例如:写一个SQL语句,取出表S中第21~30记录(SQL server,以自动增长的ID作为主键,ID可能不连续)
方法一:
Select TOp10 * from S
Where ID>(Select MAX(ID) from (Select Top20 ID from S ) as S)
方法二:
select Top10 * from S where ID NOT IN(select Top20 ID from S)
(6)sql如何取任意记录扩展阅读
SQL SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集)。
SQL SELECT 语法
SELECT 列名称 FROM 表名称
以及:
SELECT * FROM 表名称
注释:SQL 语句对大小写不敏感。SELECT 等效于 select。
SQL SELECT 实例:
如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:
SELECT LastName,FirstName FROM Persons
G. 用SQL取部分记录
从tablename 表中取出第 n 条到第 m 条的记录
SQL SERVER的写法
SELECT TOP m-n+1 *
FROM tablename
WHERE (id NOT IN
(SELECT TOP n-1 id FROM tablename))
你这是一个分页算法的,我提供的比较简单,网上还有很多不错的,如果你对这个不满意,再去网上找找 关键字 “分页算法”
ORACLE的话改一下语句就可以了
SELECT *
FROM tablename
WHERE (id NOT IN
(SELECT id FROM tablename where rownum<n )) and rownum< m-n+2
rownum 的用法需要注意的是rownum >1 时是查不到一条记录的,而rownum >0 或 rownum >=1 却总显示所有的记录;因为 rownum 是在查询到的结果集后加上去的,它总是从1开始
MYSQL的类似语法不清楚了,你查查关键字的语法参考这两条语句,应该也好写出来
-----------------------------------
另外这语句你需要将M N计算后填入,你不能直接作为变量使用。如果你想做成一个的存储过程;m,n作为变量输入,那就得提前完成计算再查询。
H. 如何用SQL语句取出数据库中的特定一条数据
通过查询语句select * from user where id=1
我不知道你这个username指的是不是字段,如果是要取出表中某个字段的值。
可以通过select 字段名1,字段名2 ... from user where id=1。
I. SQL语句如何取前10条,10-30条记录
常用几种数据库,取前10条记录的sql语句写法。
access:
select top (10) * from table1 where 1=1
db2:
select column from table where 1=1 fetch first 10 rows only
mysql:
select * from table1 where 1=1 limit 10
sql server:
读取前10条:select top (10) * from table1 where 1=1
读取后10条:select top (10) * from table1 order by id desc
oracle:
select * from table1 where rownum<=10
取10-30条的记录:
select top 20 * from 表名 where id not in(select top 10 id from 表名)
(9)sql如何取任意记录扩展阅读:
使用SQL从表中取记录。
SQL的主要功能之一是实现数据库查询。如果你熟悉Internet 引擎,那么你已经熟悉查询了。你使用查询来取得满足特定条件的信息。
多数Internet 引擎允许逻辑查询。在逻辑查询中,你可以包括特殊的运算符如AND、OR和NOT,你使用这些运算符来选择特定的记录。
如果需要扩展查询的结果,可以使用逻辑操作符OR。例如,如果执行一个搜索,搜索所有的其描述中包含Active Sever Pages OR SQL的站点,收到的列表中将包括所有其描述中同时包含两个表达式或其中任何一个表达式的站点。
如果想从搜索结果中排除特定的站点,可以使用NOT。例如,查询“Active Sever Pages ”AND NOT “SQL”将返回一个列表,列表中的站点包含Active Sever Pages,但不包含SQL。当必须排除特定的记录时,可以使用NOT。
用SQL执行的查询与用Internet搜索引擎执行的搜索非常相似。 当执行一个SQL查询时,通过使用包括逻辑运算符的查询条件,你可以得到一个记录列表。此时查询结果是来自一个或多个表。
J. SQL如何从结果集中取任意一条记录
可以任取一条符合条件的记录,但是不能让系统自己随机选择一条,系统还没那么智能。