| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 1 樓
  | 
		
			
				 發表於: 星期二 八月 23, 2005 9:53 pm    文章主題: SQL Server 能否做到 Limit 功能呢? | 
				     | 
			 
			
				
  | 
			 
			
				各位先進您好:
 
 
在 Mysql 中,可以使用這樣的語法 Select * from custom limit 50,100
 
 
其中 limit 50,100 , 可以取出第50-100筆資料
 
 
但,SQL Server 中,似乎沒有這樣的參數,
 
 
有沒有什辦方法,做出相同的要求呢? | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		bin1x
 
 
  註冊時間: 2004-08-27 文章: 462
 
  第 2 樓
  | 
		
			
				 發表於: 星期二 八月 23, 2005 10:05 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				如果把remote view 擺在vfp 中
 
我用between(recno(),50,100) 問題就解決了
 
先決條件是remote view無任何過濾條件,不然順序有變,資料就無意義了 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 3 樓
  | 
		
			
				 發表於: 星期二 八月 23, 2005 10:28 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				M$ SQL SERVER 2005 才有類似功能.
 
 
不過,也是有變通方式啦. _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 4 樓
  | 
		
			
				 發表於: 星期二 八月 23, 2005 11:05 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				bin1x您好:
 
抱歉,我沒講清楚,其實,Mysql中即使有用 order by 和 where 參數,依然可以取出第50-100筆,
 
 
比如
 
 
Select * from custom where address='高雄巿' order by cust_id limit 50,100 
 
 
所以,它和您所指的between(recno(),50,100),是不相同的
 
 
還有其它方法嗎?
   ckp6250 在 星期二 八月 23, 2005 11:09 pm 作了第 1 次修改 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 5 樓
  | 
		
			
				 發表於: 星期二 八月 23, 2005 11:07 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				syntech前輩:
 
 
感謝提點,變通方法想到了,再謝再謝!
   ckp6250 在 星期三 八月 24, 2005 9:30 am 作了第 1 次修改 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		bin1x
 
 
  註冊時間: 2004-08-27 文章: 462
 
  第 6 樓
  | 
		
			
				 發表於: 星期三 八月 24, 2005 8:06 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | ckp6250 寫到: | 	 		  bin1x您好:
 
抱歉,我沒講清楚,其實,Mysql中即使有用 order by 和 where 參數,依然可以取出第50-100筆,
 
 
比如
 
 
Select * from custom where address='高雄巿' order by cust_id limit 50,100 
 
 
所以,它和您所指的between(recno(),50,100),是不相同的
 
 
還有其它方法嗎? | 	  
 
你指的這件事就更有意思了
 
remote view 不是有設filter,不設filter 時,是完整的table
 
where 是我指的filter 
 
order by 還是要,between 取代limit
 
其實類似的語法informix是有的
 
只是sql語法 到foxpro 時,我好像沒看過
 
m$sql要翻書才知道 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 7 樓
  | 
		
			
				 發表於: 星期三 八月 24, 2005 9:02 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				bin1x您好:
 
 
您指的我明白,但remote view 之後的Filter和order by , 它的recno() 還能準確嗎?
 
 
上例 Mysql 中的Select * from custom where address='高雄巿' order by cust_id limit 50,100 
 
 
能取出『住在高雄巿且按身份證排序的第50-100名』,remote view 中的 Recno()是反應真實的實體Table的recno()或取回後的Recno()?這兩者是有差別的 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 8 樓
  | 
		
			
				 發表於: 星期三 八月 24, 2005 9:53 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				其實就是作一個假欄位是 order 順序,
 
再依欄位作 between 動作.
 
 
目前的 vfp,access,m$ sql server 都只支援 top xxxxx 而已,
 
取中間幾筆就很麻煩. _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 9 樓
  | 
		
			
				 發表於: 星期四 八月 25, 2005 10:17 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				syntech 兄您好:
 
 
  經您提醒,問題可以解決了,是不是類似這樣呀
 
 
Select identity(int) As RecNo , * from xxx order by xxx where RecNo between 50 and 100 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		bin1x
 
 
  註冊時間: 2004-08-27 文章: 462
 
  第 10 樓
  | 
		
			
				 發表於: 星期五 八月 26, 2005 8:31 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				想起來了
 
informix是rowid 也是系統變數,就像recno()一樣好用
 
用identity 查了一下
 
有identity的使用方法 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |