|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
sthuang66
註冊時間: 2014-04-27 文章: 176
第 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 文章: 451
第 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 |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|