VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

有方法在 select 中產生-名次欄嗎 ?
前往頁面 上一頁  1, 2
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
sthuang66



註冊時間: 2014-04-27
文章: 166


第 16 樓

發表發表於: 星期一 三月 16, 2015 6:52 pm    文章主題: 引言回覆

請教樓上!我利用您方法在VFP9上去加名次是OK!很快
但是公司VFP是8.0卻跳出錯誤訊息!不知道有沒有高見可以解決
非常感謝
我本來用http://www.1keydata.com/tw/sql/sql-rank.html 上面方法
---------------------------------------------------------------------------------
SELECT a1.Name, a1.Sales, COUNT(a2.Sales) Sales_Rank
FROM Total_Sales a1, Total_Sales a2
WHERE a1.Sales <= a2.Sales OR (a1.Sales=a2.Sales AND a1.Name = a2.Name)
GROUP BY a1.Name, a1.Sales
ORDER BY a1.Sales DESC, a1.Name DESC;
--------------------------------------------------------------------------------
這個在vfp8可以但是太佔資源有時會當
回頂端
檢視會員個人資料 發送私人訊息
CPS0204



註冊時間: 2014-08-24
文章: 441


第 17 樓

發表發表於: 星期四 十二月 06, 2018 6:07 pm    文章主題: 引言回覆

SQL SERVER內部寫法:依產品代號來分組,並求得銷售數量排行前5名
WITH RECORDS AS (SELECT cust_no,S_DATE,S_COST,S_AMT, ROW_NUMBER() OVER (PARTITION BY PROC_NO ORDER BY S_AMT DESC ) AS MPI000 FROM SALE_DBF2 WHERE S_COST>0 ) SELECT * FROM RECORDS WHERE MPI000<=5

*------------------------*
也可傳回至VFOXPRO
例:
STR1=[WITH RECORDS AS (SELECT cust_no,S_DATE,S_COST,S_AMT, ROW_NUMBER() OVER (PARTITION BY PROC_NO ORDER BY S_AMT DESC ) AS MPI000 FROM SALE_DBF2 WHERE S_COST>0 ) SELECT * FROM RECORDS WHERE MPI000<=5]

RET_VAL=SQLEXEC(CON1,STR1,'V_PI')

SELE V_PI
GO TOP
BROW
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 上一頁  1, 2
2頁(共2頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作