我现在要查询一个表A,假如用户排名rank=50,单位间隔=3 我想要查询的结果是 在rank之前,也就是排名要在50之前,并且间隔是 3
那么结果是47,44,41,38,35。。谢谢了。
那么结果是47,44,41,38,35。。谢谢了。
解决方案 »
- 怎么判断CheckBoxList中选中项是相邻的 如果不是相邻项 保存的时候会给提示
- 关于用户自定义控件的页面问题
- 请教一个导航的问题,谢谢大家。
- asp.net 把临时生成的XML写到内存中,然后以流的形式写到客户端,弹出保存的对话框。类似下载。
- Directx9.0中的NetworkPacket如果像客户端传一个对象?
- 请大家给一个思路,不知道该如何做
- asp.net开发的一个关于sql的小问题~
- 如果知道某图片站点的加密相册的密码,怎么在另一个站点上引用该相册的照片呢?
- 我刚大学毕业,请问在北京做.net 开发一般拿多少钱一个月啊?
- 将asp.net程序部署到其他计算机上需要那些文件?
- ASP.NET中如何获取checkbox 的name相同但value不相同的javascript代码?
- 通过ajax在js里调用后台带参数的方法
declare @i int
set @i = 1
select @i as userId, @i as rankId into #a
while @i<60
begin
set @i = @i + 1
insert into #a values(@i,@i)
endselect * FROM #a where rankid <50 and (rankid+1) %3=0 order by rankid desc
结果:
userId rankId
47 47
44 44
41 41
38 38
35 35
32 32
29 29
26 26
23 23
20 20
17 17
14 14
11 11
8 8
5 5
2 2
int[] numbers = new int[11] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; var numQuery =
from num in numbers
where (num % 3) == 0 && num<9
select num; foreach (int num in numQuery)
{
Console.Write("{0} ", num);
}
顺便用linq 试试
declare @arr varchar(300) ----47,44....条件
declare @sql varchar(2000) ----sql语句
set @arr=''
while(1=1)
begin
set @rank=@rank-3
if(@rank<0)
begin
set @arr=SUBSTRING(@arr,1,(len(@arr)-1))
break
end
set @arr=@arr+ltrim(@rank)+','
endset @sql='select * from A where rank in ('+@arr+')'
--print @sql
exec(@sql)
select * from A where rank<50 and (50-rank)%3=0需要那么难吗??楼上各位