2012-06-27 22 views
0

現在,我試圖通過循環從表中獲得前10個數據。while循環在前10的sql

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獲取頂級數據我怎麼能循環它在那裏會得到第一,第二,第三,第十....數據?

+1

** ** SQL僅僅是**結構化查詢語言** - 許多數據庫系統使用的語言,但不是數據庫產品......類似這樣的東西通常是特定於供應商的 - 所以我們真的需要知道您使用的數據庫系統(以及哪個版本)。 .. –

+1

如果你可以幫助你,你不會在sql中循環。甚至不要考慮循環記錄。 – HLGEM

回答

0

你不能循環,但你可以做這樣的事情,改變的記錄數的子查詢來選擇:

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 
0
Group by ClientUserName, DestHost order by counts desc LIMIT 10 
+0

可能適用於MySQL - 但不適用於其他系統... OP沒有指出他使用的是什麼RDBMS ... –

+0

對不起,我正在使用sql server – Cloud

+0

@AlexChen:以及哪個**版本**? 2000? 2005年? 2008年? 2008R2? 2012 ??? –