1樓:匿名使用者
比如:有一張橫表a,表中有字段:鎮局area,manager客戶經理,custmer 客戶,talk_no通話次數
每個鎮下面有多個客戶經理,每個客戶經理管理多個客戶,每個客戶有各自的通話次數
那麼如果想要取出每個客戶經理下面通話次數前5個的客戶,應該怎麼寫sql呢?
解:select area 區域,manager 客戶經理,custmer 客戶,talk_no 通話次數
from (
select area,manager,customer,talk_no,
dense_rank() over (partition by manager order by talk_no desc) rank_no
) where rank_no <= 5;
幫頂,是oracle的,找高手幫你轉下
2樓:
/*declare @num int
set @num =10
select top (@num) id from test*/declare @num int
set @num =10
declare @sqlstr nvarchar(200)select @sqlstr = 'select top ('+cast(@num as varchar(10)) + ') id from test '
exec(@sqlstr)
sql 2000 top 變數
3樓:匿名使用者
加個括號就可以了,因為2000 不支援這樣的寫法,或加這個也可以試下
4樓:匿名使用者
啥意思哦 沒懂 但是 至少 你後面沒排序 你得不到id值靠前的行
select @id=max(id) from sendconfig where id in (select top @i id from sendconfig order by id desc )
5樓:天涯海峰
在sql2000中top後是不能接變數的,變數只有特殊的處理
例如:品字串,你寫的這些我還沒有看清楚
6樓:匿名使用者
declare @sql nvarchar(500)
set @sql = 'select top ' + cast(@i as varchar(5)) + ' id from dde'
exec(@sql)
7樓:
2000可以用sp_executesql這個常用的系統儲存過程,記住引數都要nvarchar
declare @id int,@i int,@sql nvarchar(4000)
set @sql='select @id = max(id) from dde where id in (select top ' + convert(varchar,@i) + ' id from dde)'
exec sp_executesql @sql,n'@id int output',@id output
sql 中top中的變數為count()解決辦法
8樓:頻餘泣曾琪
支援一下感覺挺不錯的
sql語句的top用法
9樓:匿名使用者
select top 1 * from table
select top (1+2) * from table/*取前3行資料*/
區別就是()裡面可以是個表示式
10樓:
沒有區別個人的習慣 在sqlserver2000中top後只可以跟常數,在2005後可以跟變數了
也許唯一的區別就是top(expression)括號中可以跟表示式
11樓:匿名使用者
肯定不能加括號的,因為加了的話肯定會出這個錯誤:
'(' 附近有語法錯誤。
。。。。。
12樓:匿名使用者
加括號就報錯了
不知道您說的是不是
select top 5 [uid] from xm中括號是為了遵循**規範
13樓:匿名使用者
select top 1 * from table_name
不能加括號吧
14樓:土豆妞兒
'(' 附近有語法錯誤。
15樓:世賢_斌
top在sql server中最新的來語法是要自加括號的。
1、在select後面跟的是數字bai
的時候,它du是可以不用加括號的,
zhi但是從語法嚴謹來dao講還是應該加上括號的;如果select後面跟的是表示式,那是一定要加括號了。
2、update的時候,必須要加括號,否則會報錯。
3、delete的時候,必須要加括號,否則會報錯。
關於sql儲存過程的問題,帶top引數的儲存過程
16樓:匿名使用者
sql2005版本以上可以使用top變數,格式是top(@x)
17樓:凸b男撥完
儲存過程就像是乙個小的程式一樣,是程式都會有執行步驟,如果你這樣寫,那再加上乙個判斷或者加上乙個迴圈呢?那你會寫成什麼樣子呢?而執行的時候,程式還沒有智慧型到遇到你寫select就知道你是要查詢,只有你執行了查詢語句程式才會知道你是要查詢。
所以你set之後,也只是給@str賦值而已,還沒有執行查詢。
搞不明白你怎麼會這麼想,或者說這是誰教你的,能把這種問題給教出來了。。
18樓:
select top(@x) 只能在sql2005及以上版本才支援。
sql儲存過程 top 後面跟變數後 顯示的結果就是語句 10
19樓:
改成使用top函式就可以使用變數了, 效果與top子句相同, 格式:
select top(@i) ...
20樓:匿名使用者
你的複語法制寫錯了,改成 select top 1 @i,id from sysobjects where type = 'u' and name like 'callhm%' order by id asc)
3Dmax2019的vray燈光引數為什麼調不了
因為vary燈光操作面板的 選項 裡 天光入口 去除勾選就可以了 把天光入口勾選去掉就好了。3d studio max,常簡稱為3d max 或3ds max,是 discreet公司 開發的 後被 autodesk公司合內並 基於pc系統的三容維動畫渲染和製作軟體。3d max廣泛應用於廣告 影視...
sql 2019 R2安裝時,怎麼選擇服務賬戶
基本上你選擇system這個賬戶就可以的,我都是全部選擇這個賬戶的。sql2008安裝時,怎麼選擇服務賬戶 nt authority system 系統內建賬號,對本地系統擁有完全控制許可權 在工作組模式下,該賬戶不能網路資源 通常用於服務的執行,不需要密碼。nt authority network...
怎麼用SQL語句修改數值為保留兩位小數
1 建立測試表,create table test replace num id number,value number 2 插入測試資料 insert into test replace num values 1,4.9528 insert into test replace num values...