您的位置:首页 > 其它

每天前10条记录

2007-11-14 12:30 281 查看
1)

--每天前10条
select a.billno from tbSelfSaleOut a
where a.TheDate>='2007-09-01 00:00:00' and a.TheDate <='2007-09-02 23:59:59' and
a.Billno in
(select top 10 b.BillNo
from tbSelfSaleOut b where DATEDIFF(dd,a.TheDate,b.TheDate)=0 order by convert(numeric(18,2),convert(datetime,b.TheDate)) ) --desc

2)

--随机前10条
select a.billno from tbSelfSaleOut a
where a.TheDate>='2007-09-01 00:00:00' and a.TheDate <='2007-09-02 23:59:59' and
a.Billno in
(select top 10 b.BillNo
from tbSelfSaleOut b where DATEDIFF(dd,a.TheDate,b.TheDate)=0 ORDER BY newID() ) --desc

--随机函数 newID()和RAND()
SELECT TOP 10 * FROM tbSelfSaleOut ORDER BY RAND()

3)

--控制循环显示
Declare @TmpControl int, --控制天数
@StartTmpDate varchar(11), --开始的日期
@StartNewDate datetime --中间变量目的是可以进行日期的递增运算.
set @TmpControl=0 --控制天数
set @StartTmpDate='2007-09-01 ' --开始日期
set @StartNewDate=convert(datetime,@startTmpDate)--数据类型转化
while @TmpControl<=2
Begin
--将日期格式转为字符串
set @StartTmpDate=convert(varchar(11),@StartNewDate,20)
--用户需求的条件
select top 1 TheDate from tbSelfSaleOut
where TheDate>@StartTmpDate+'00:00:00' and TheDate<@StartTmpDate+'23:59:59'
order by convert(numeric(18,2),convert(datetime,TheDate))
--处理相关控制,同时日期递增
set @TmpControl=@TmpControl+1
set @StartNewDate=DateAdd(day,1,@StartNewDate)
end

--验证
select top 1 TheDate from tbSelfSaleOut where TheDate>'2007-09-01 00:00:00' and TheDate<'2007-09-01 23:59:59' order by convert(numeric(18,2),convert(datetime,TheDate))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: