  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		藍薰
 
 
  註冊時間: 2004-01-15 文章: 65
 
  第 1 樓
  | 
		
			
				 發表於: 星期四 十二月 07, 2006 4:23 pm    文章主題: 用select 方式擷取末筆資料,為何資料怪怪的? | 
				     | 
			 
			
				
  | 
			 
			
				請問各位用select 方式擷取末筆資料,為何資料怪怪的,不知各位有遇過嗎?
 
 
舉例資料輸入順序如下:
 
名稱     日期                  數量
 
A        95.10.10        10
 
B        95.10.15        15
 
B        95.10.18        18
 
B        95.10.31        31
 
B        95.10.30        30
 
 
程式如下:
 
SELECT 名稱,數量;
 
    FROM TABLE;
 
    ORDER BY 名稱,日期 DESCENDING;
 
    GROUP BY 名稱
 
 
照道理正確資料應該出現
 
名稱      數量
 
A          10
 
B          31
 
 
但是卻出現
 
名稱      數量
 
A          10
 
B          30 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		marvin
 
 
  註冊時間: 2004-06-01 文章: 321
 
  第 2 樓
  | 
		
			
				 發表於: 星期四 十二月 07, 2006 11:39 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				一般言 select 並無 "末筆資料" 這概念, 除非你用上 dbf 式的 recno()
 
 
如果是要最後日期的那一個紀錄, 用 max() 就夠了, 不用 order 和 group 浪費時間 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		藍薰
 
 
  註冊時間: 2004-01-15 文章: 65
 
  第 3 樓
  | 
		
			
				 發表於: 星期五 十二月 08, 2006 11:53 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | marvin 寫到: | 	 		  一般言 select 並無 "末筆資料" 這概念, 除非你用上 dbf 式的 recno()
 
 
如果是要最後日期的那一個紀錄, 用 max() 就夠了, 不用 order 和 group 浪費時間 | 	  
 
 
謝謝marvin的解答,雖然我還未去try 用max()這個指令
 
但是我的疑問在於,為何是那樣的結果??????????   | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |