Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server sql中的While循环用于前10名_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server sql中的While循环用于前10名

Sql server sql中的While循环用于前10名,sql-server,sql-server-2008,Sql Server,Sql Server 2008,现在,我试图通过循环从表中获取前10个数据 Select ClientUserName, DestHost, count(DestHost) counts from #ProxyLog_record where ClientUserName =(Select top 1 ClientUserName from #ProxyLog_count_2) Group by ClientUserName, DestHost order by counts desc 它只从clientu

现在,我试图通过循环从表中获取前10个数据

 Select ClientUserName, DestHost, count(DestHost) counts  from  #ProxyLog_record  
 where ClientUserName =(Select top 1 ClientUserName from #ProxyLog_count_2) 
 Group by ClientUserName, DestHost order by counts desc 

它只从clientusername中获取顶级数据,我如何将其循环到第一个、第二个、第三个,。。。。第十个数据?

您不能循环,但可以执行类似操作,并更改要在子查询中选择的记录数:

 Group by ClientUserName, DestHost order by counts desc LIMIT 10
   Select ClientUserName, DestHost, count(DestHost) counts  from  #ProxyLog_record  
     where ClientUserName  in (Select top 10 ClientUserName from #ProxyLog_count_2) 
     Group by ClientUserName, DestHost order by counts desc 

SQL只是结构化查询语言-一种被许多数据库系统使用的语言,但不是一种数据库产品。。。像这样的东西通常是特定于供应商的——所以我们真的需要知道您使用的是什么数据库系统和哪个版本……如果您可以帮助的话,您不会在sql中循环。甚至不要考虑在记录中循环。这可能适用于MySQL,但不适用于其他系统。。。OP没有指出他在用什么RDBMS。。。