标签归档:order by

mssql sql server 使用sql脚本 随机取出数据表中前n条记录的方法分享


摘要:
下文讲述使用对sqlserver数据表随机取数的方法分享,如下所示:
实验环境:sql server 2008 R2

例:
今天在网上收到一个网友的提问:
“随机获取一张数据表的前10条纪录,每次获取的记录,需是随机的”,

实现思路:
使用sqlserver 的随机函数new()作为排序依据,
对数据按照order by newId () 的方式进行排序,这样就可以使获取的数据为随机

create table #maomao365
(
    keyNo int
)

--插入基础数据
insert into #maomao365 (keyNo)values
values (23), (36), (39), (56), (68)

--利用newId 随机函数作为排序依据对数据进行排序
select  keyNo 
from #maomao365
order by newid()

--使用top  随机获取前2条记录
select top 2 keyNo
from #maomao365
order by newid()

drop table #maomao365

mssql sqlserver order by 1具有什么功能呢?


摘要:
下文通过举例的方式讲述order by 1的具体含义,如下所示:
实验环境:sql server 2008 R2



order by 1功能说明

ORDER BY 1功能:
根据select 第一个字段进行排序操作
order by 1 asc :
根据select 第一个字段进行升序操作
order by 1 desc :
根据select 第一个字段进行降序操作



order by 1 举例说明

 create table [maomao365.com] (keyId varchar(20),name varchar(120))
go
insert into  [maomao365.com] (name,keyId)values(10,'we')
insert into  [maomao365.com](name,keyId)values(2,'b')
insert into  [maomao365.com](name,keyId)values(3,'C')
insert into  [maomao365.com] (name,keyId)values(4,'a')
insert into  [maomao365.com] (name,keyId)values(5,'E')
insert into  [maomao365.com] (name,keyId)values(7,'F')
go
select * from  [maomao365.com]
go
select * from  [maomao365.com] order by  1 desc  
go
truncate table  [maomao365.com]
drop table   [maomao365.com]
go 
order by 1用法举例

order by 1用法举例

mssql sqlserver order by 关键字说明


摘要:
下文讲述sql脚本order by 关键字用法,如下所示:
实验环境:sql server 2008 R2

sql脚本通过select 和where 关键字将数据表中的数据获取,order by 关键字的功能则将数据表中的列按照一定的顺序排列,order by 可以将数据列按照从大到小或者从小到大的顺序的排序。

order by 语法结构如下:

order by语法:

select 列名 ,… from 表名
[where 查询条件] order by 列名 [asc|desc]
—asc :代表从小到大顺序排列
—desc:代表从大到小顺序排列

例:
SELECT saleName, saleQty, writeDate FROM saleInfoTable ORDER BY writeDate DESC
—-上面的sql脚本是将数据表按照列writeDate倒序排列显示数据

SELECT saleName, saleQty, writeDate FROM saleInfoTable ORDER BY 2 DESC
—-上面的sql脚本是将数据表按照 select 后的第二个栏位倒序排列(及按照saleQty倒序排列)