資料庫存盤給定日期的貨幣匯率。每天,一種貨幣兌換價值被收集并存盤在資料庫中,如下所示:
| ID(整數,AI) | 價值 | 日期 |
|---|---|---|
| 1 | 2.5 | 20.01.2021 |
| 2 | 2.7 | 21.01.2021 |
| 3 | 2.6 | 22.01.2021 |
如果我想計算最近10天的平均匯率,我是應該先按日期對資料進行排序,下載資料時只檢索最后10條記錄,還是不從資料庫下載最后10條記錄就足夠了?排序?
uj5u.com熱心網友回復:
你可以簡單地在 SQL Server 資料庫中做
SELECT TOP 10 AVG(VALUE) AS AverageRate
FROM YourTable
ORDER BY Id DESC
其他關系資料庫中的概念應該相同。
uj5u.com熱心網友回復:
SQL 中的表(以及表運算式,例如視圖和 CTE)表示無序集。要以特定順序獲取資料,您必須指定一個ORDER BY子句。
在相當通用的 SQL 中,你可以做
SELECT AVG(VALUE) AS AverageRate
FROM (
SELECT VALUE
FROM YourTable AS t
ORDER BY Id DESC
OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY
) AS t
在某些 RDBMS 中OFFSET FETCH,您可以使用LIMIT或TOP來代替來達到相同的效果。你仍然需要ORDER BY.
uj5u.com熱心網友回復:
基本上你必須先排序(按日期),然后得到最后 10 個值,所以你走在正確的軌道上。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/362594.html
