Sql-Server
如何從每個州返回前 10 行
如何返回每個類別的前 10 行?
假設我有一個名為
xyz
.state
在這個詞的政治單位意義上,它有一個名為 的列。我想要每個州的前 10 行。我是否使用
case
以便人們可以看到該行是從哪個狀態?我正在使用 SQL Server 2012。
前 10 名將來自 FCFS,即它們的輸入順序。
列是
FirstName, LastName, Address, city, state, zip, phone etc.
例如,我的表中有來自 AL、CT、NY 等州的行。我想要基於每個州的 FCFS 的前 10 行。
因此,您希望在記錄插入數據庫的日期之前每個州的前 10 條記錄。(我假設您有 FCFS 的日期列)。您可以為此使用分區功能。
select <list_of_columns> from ( select ROW_NUMBER() over (partition by state order by date asc) as row, <list_of_other_columns_from_XYZ> from XYZ where <where_condition> ) AS X where X.row =< 10 order by <oder_by_clause>
(假設 SQL Server 用於查詢)
檢查Ranking Functions,ROW_NUMBER了解更多詳細資訊。
我希望這有幫助。