求条SQL

xing527640118 2009-02-17 11:39:18
数据如下
id name date
1 AA 2008-12-02
2 BB 2008-12-03
3 CC 2008-12-02
4 DD 2008-12-05
5 EE 2008-12-08
6 FF 2008-12-01
我想抽取最新3条数据(根据日期)中的其中随机一条数据!比如:
4 DD 2008-12-05
...全文
59 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2009-02-17
  • 打赏
  • 举报
回复
create table tb(id int,   name varchar(10),     date datetime)
insert into tb values(1 , 'AA' , '2008-12-02')
insert into tb values(2 , 'BB' , '2008-12-03')
insert into tb values(3 , 'CC' , '2008-12-02')
insert into tb values(4 , 'DD' , '2008-12-05')
insert into tb values(5 , 'EE' , '2008-12-08')
insert into tb values(6 , 'FF' , '2008-12-01')
go

select top 1 * from
(
select top 3 * from tb order by date desc
) t
order by newid()

drop table tb

/*
id name date
----------- ---------- ------------------------------------------------------
4 DD 2008-12-05 00:00:00.000

(所影响的行数为 1 行)
*/
百年树人 2009-02-17
  • 打赏
  • 举报
回复
select top 1 *
from (
select top 3 * from tb order by date desc) t
order by newid();
dawugui 2009-02-17
  • 打赏
  • 举报
回复
select top 1 * from
(
select top 3 * from tb order by date desc
) t
order by newid()

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧