Sqlite
組前10、20、30
大家早!我創建了一個程序和數據庫,可以從網站上提取數據(MLB 球隊的球員成本),然後我匯總這些數據並將其用於各種事情。
我需要找到的一件事是最便宜的 10、20 和 30 名球員的每支球隊的總成本。我已經嘗試了一些我在網上看到的建議,但似乎沒有一個對我有用。
我的數據庫有以下欄位:
Player | Overall | Sell | Buy | Series | Dash | Team | League | Division | Position | Pull_Date_Time
這是我目前用來獲取每個團隊的總成本的方法:
select team, sum(buy) from Players where series = 'Live' and pull_date_time = '2019-04-09 08:46:04' group by team order by sum(buy)
我需要相同的數據——只為每支球隊選擇最便宜的 10、20 和 30 名球員,並按球隊分組,如上所示。我確實需要包含我目前使用的 where 子句。我不需要這只是 1 個查詢 - 我完全希望每個計數(10、20、30)都需要它自己的查詢。
假設您擁有 SQLite 3.25.0 或更高版本,請使用視窗函式來計算每個已排序團隊中的行數:
SELECT Team, sum(Buy) FROM (SELECT Team, Buy, row_number() OVER (PARTITION BY Team ORDER BY Buy ) AS RowNum FROM Players) WHERE RowNum <= 10 GROUP BY Team ORDER BY sum(Buy);