簡體   English   中英

SQL服務器中如何在一個表中添加顯示總行數的列

[英]How to add a column that shows the total number of rows in a table in SQL Server

我有這張表,我想添加一列來給出表中的總行數:

現在表:

Name         PAT_ID        
---------------------
Brian          123
Brian          356
Brian          3546
Brian          987

所需的 output:

Name         PAT_ID       TOTAL     
------------------------------------
Brian          123          4
Brian          356          4
Brian          3546         4
Brian          987          4

謝謝!

您可以使用OVER子句,如下所示:

CREATE TABLE PATIENT (
  Name VARCHAR(255) NOT NULL,
  PAT_ID INT NOT NULL
);

INSERT INTO PATIENT (Name, PAT_ID)
VALUES ('Brian', 123), ('Brian', 356), ('Brian', 3546), ('Brian', 987);

SELECT *
     ,COUNT(*) OVER () AS [total]
FROM PATIENT

在 OVER 子句中,您可以使用類似於 GROUP BY 的 PARTITION BY。 例如,您可以僅為特定用戶計算行數:

SELECT *
     ,COUNT(*) OVER (PARTITION BY Name) AS [total]
FROM PATIENT

暫無
暫無

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

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