易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL返回行数 - .NET技术 / C#

select * from A where (A.Id in (select top 1 Uid from B where B.TypeId=1 order by newId()))
 or 
(A.Id in (select top 2 Uid from B where B.TypeId=2 order by newId()));


为什么不确定 有时是3 有时是4或5或1或2

newId()每次都是不一样的

in是在这个集合里面。所以不确定

order by newId()-----------随机返回一个

补充一下 是返回行数不确定 返回的结果有时候是2/3/4/5/6行 ,应该返回3行的啊?

引用
补充一下 是返回行数不确定 返回的结果有时候是2/3/4/5/6行 ,应该返回3行的啊?


A.Id在表A中是否存在重复记录?

假如A表数据
ID  
1
1
2
2
2
3
...

如果你in条件筛选出来UID=1,查询结果就是2行,筛选出来UID=2,查询结构就是3行

表A:
Id name
1 aa
2 bb
3 cc
4 dd
5 ee
6 ff
7 gg
9 hh
10 ii
11 jj
12 kk
13 ll
14 mm
15 nn
NULL NULL
表B:
typeID Uid
1 1
1 13
1 14
2 4
2 7
2 9
2 10
3 2
3 3
3 5
3 6
3 8
3 11
3 12
3 15
NULL NULL

楼主用的是slqserver数据库吧,oralce 没有top用法的;如果在oracle中,可以根据rownum 来限制,如果是随机的可以根据random来限制的;
  希望大家多交流,欢迎访问我的空间.

select top 1 Uid from B where B.TypeId=1 order by newId()

select top 2 uid from B where B.TypeId=2 order by new


相关问答:

sql小小的疑问 - .NET技术 / C#

可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......

MS SQL作业问题 - MS-SQL Server / 应用实例

如何在SQL2005中设定定时作业,比如说定时清理某些表的数据,
或者是定时的将某些表的数据导出excel!
在线等待,急急急,最好是详细步骤!
之前我做的作业有点问题!
帮UP

参考:http://hi.baidu.com/toiota ......

使用带用户名和密码的ACCESS连接方式 - .NET技术 / C#

使用ACCESS最大的隐患就是不安全。今天对ACCESS数据库设置了一个密码,必须使用密码才能打开,但是在程序中却无法连接数据库了。大家知道使用用户名和密码,如何连接ACCESS数据库?貌似ACCESS的用户名还不知道?只知 ......

c# listview添加合计行 - .NET技术 / C#

用listview显示出从数据库中查询出的记录,想在最后记录后面添加一条合计行,如何实现!谢谢大家!
绑定数据你应该没问题吧,绑定完以后用一个循环把你要统计数据的列中的数据总和用一个变量接受,然后在循环外面ne ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号