討論區快速選單
知識庫快速選單
軟體開發過程中有哪些資安漏洞? 網路投保旅行平安險 傑米的攝影旅遊筆記
[ 回上頁 ] [ 討論區發言規則 ]
請問有關SELECT完後的資料篩選的問題
更改我的閱讀文章字型大小
作者 : jck6792w(ienhou)
[ 貼文 7 | 人氣 1653 | 評價 0 | 評價/貼文 0 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/5/25 下午 04:47:55
請問一下各位高手們
如果小弟利用SELECT 搜尋下列資料
日期 名稱 數值
09512 AAA 10
09511 AAA 5
09510 AAA 4
09512 BBB 5
09511 BBB 6
09511 CCC 5
09510 CCC 3
09511 DDD 4

有什麼方法可以把每個名稱群組的第一筆資料取出呢?
取出結果是
09512 AAA 10
09512 BBB 5
09511 CCC 5
09511 DDD 4

麻煩各位大大給個指教 拜謝
作者 : laygeyen(小賴) Visual Foxpro優秀好手
[ 貼文 96 | 人氣 1185 | 評價 900 | 評價/貼文 9.38 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人jck6792w註記此篇回應為最佳解答 2006/5/25 下午 08:04:32
你是要以 名稱 取出吧 !
我假設欄名為 Name1
SET UNIQUE ON
INDEX ON NAME1 TAG NAME1
GO TOP
BROWSE
SET UNIQUE OFF


SET UNIQUE ON 再作索引 :
具有重複索引關鍵字的記錄都不保留在索引文件中,只保留具有原始索引關鍵字值的第一個記錄


作者 : jck6792w(ienhou)
[ 貼文 7 | 人氣 1653 | 評價 0 | 評價/貼文 0 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/5/26 下午 01:46:43

大哥實在太強了!!
這招很棒!! 感謝感謝
再請問一下 這招有沒有SQL的語法?
還是一定要靠INDEX 跟SET UNIQUE才行??
感謝了
作者 : laygeyen(小賴) Visual Foxpro優秀好手
[ 貼文 96 | 人氣 1185 | 評價 900 | 評價/貼文 9.38 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人jck6792w註記此篇回應為最佳解答 2006/5/26 下午 03:00:38
原本SQL應有2個方式解決重複資料
1. SELECT DISTINCT(Name1) .........INTO CURSOR...
2. SELECT NAME1, MAX(?) ........ GROUP BY Name1 INTO CURSOR

但是你要求每組第一筆資料, 顯然Group BY 不可行
至於 SELECT DISTINCT(Name1) ..... 我沒把握挑出來的一定是第一筆資料
您自已試試吧!

作者 : jck6792w(ienhou)
[ 貼文 7 | 人氣 1653 | 評價 0 | 評價/貼文 0 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/5/29 上午 10:53:35
謝了!!!
作者 : jck6792w(ienhou)
[ 貼文 7 | 人氣 1653 | 評價 0 | 評價/貼文 0 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/5/29 下午 06:09:24
今天使用後發現
SET UNIQUE後的資料表
再拿去用SELECT 做JOIN的話 會連那些看不見的資料筆數一起叫出來
看來還是不能用了Orz
作者 : laygeyen(小賴) Visual Foxpro優秀好手
[ 貼文 96 | 人氣 1185 | 評價 900 | 評價/貼文 9.38 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/5/29 下午 06:44:39
不可以先COPY TO TABLE1
再SELECT ... FROM TABLE1 嗎 ?

COPY TO 就不會有不該出現的資料
作者 : redrock99(阿呆紅) Visual Basic優秀好手貼文超過200則
[ 貼文 379 | 人氣 2550 | 評價 3040 | 評價/貼文 8.02 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/5/29 下午 06:47:36
Forpro 的 Group by 跟標準 SQL 的不太一樣, 可能可以達到你要的目的,
直接在你原來的 SELECT 語法裡加上 GROUP BY Name1 試試看.
作者 : jck6792w(ienhou)
[ 貼文 7 | 人氣 1653 | 評價 0 | 評價/貼文 0 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/5/30 上午 10:21:38
COPY TO 不能建立暫存CURSOR
我試著用COPY TO ARRAY 然後再INSERT 回CURSOR
結果系統說記憶體不夠存放這些ARRAY HAHAHA Orz...
--
GROUP BY 沒辦法><

後來小弟是用
cDB0201 = ""
CREATE CURSOR &cNAME(DB0201 C(15),COST N(8,2) NULL)
SELE TEMP
GOTO TOP IN TEMP
SCAN FOR TEMP.DB0201 <> cDB0201
INSERT INTO &cNAME(DB0201,COST)
     VALUES(TEMP.DB0201,TEMP.COST)
cDB0201 = EVALUATE(cNAME + ".DB0201")
ENDSCAN
暫時可以用 只是要用迴圈蠻麻煩的Orz
作者 : dear_sts(dear_sts)
[ 貼文 4 | 人氣 0 | 評價 30 | 評價/貼文 7.5 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/8/9 下午 03:19:03
SELECT 名稱,MIN(日期) M日期 FROM DBF_SRC GROUP BY 1 INTO CUR_1
SELECT * FROM DBF_SRC WHERE 名稱+日期 IN(SELECT 名稱+M日期 FROM CUR_1) INTO CURSOR CUR_2
 板主 : 徵求中
 > Visual Foxpro - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Visual Foxpro - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Visual Foxpro
1 小賴 900 
2 syntech 300 
3 jaichai 220 
4 小蜜蜂 150 
5 ruby 40 
6 superylc 40 
7 daniel 30 
8 Snaking 30 
9 Danny 30 
10 深山 30 
Visual Foxpro
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.078125