簡體   English   中英

為select語句的結果表中的每一行分配唯一計數

[英]Assign a unique count to each row in the resulting table of a select statement

假設我們有一個具有以下架構的簡單數據庫: Article(Id,Body,AuthorId)Author(Id,Name) 假設我們要開發一個頁面,每個作者只能查看自己的帖子。 只有一項要求:

  • 當作者希望查看其帖子時,SQL查詢應允許他查看每個項目的計數器,從1開始。

示例下面是一個簡單的設置:(1,“ Hi”,1),(2,“ there”,1),(3,“ test”,2),(4,“ foo”,1)。

通過執行某種SQL語句:`select count,body where authorid = 1; 我們想要得到:(1,“ Hi”,1),(2,“ there”,1),(3,“ foo”,1)。

問題正如您所看到的,建議的聲明將不起作用,因為計數還沒有意義。 我的問題是,有沒有辦法為每個項目分配一個本地計數以產生上述結果?

SELECT使用ROW_NUMBER()

SELECT ROW_NUMBER() OVER(ORDER BY AuthorID), Body, AuthorID FROM Article;

行號

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM