簡體   English   中英

獲取行數

[英]Getting the row count

我有以下sql查詢。 我想得到所有的行數。 有人可以幫幫我嗎?

WITH numberedrows 
     AS (SELECT DISTINCT TOP 10 f_feeid_pk, 
                                f_code, 
                                f_description, 
                                f_fee, 
                                f_areaid_ind_fk, 
                                a_name_ind, 
                                p_name_ind, 
                                s_name_ind, 
                                b_name_ind, 
                                Row_number() 
                                  OVER ( 
                                    ORDER BY b_name_ind, s_name_ind, p_name_ind, 
                                  a_name_ind, f_code ASC) AS 
                                RowNumber 
         FROM   t_fee 
                INNER JOIN t_area 
                        ON f_areaid_ind_fk = a_areaid_pk 
                INNER JOIN t_project 
                        ON a_projectid_fk = p_projectid_pk 
                INNER JOIN t_section 
                        ON p_sectionid_fk = s_sectionid_pk 
                INNER JOIN t_branch 
                        ON s_branchid_fk = b_branchid_pk 
         WHERE  f_feeid_pk > 0) 
SELECT * 
FROM   numberedrows 

DISTINCT TOP 10替換為DISTINCT以獲得所有不同的結果,假設您只對distinct的計數感興趣,否則也刪除DISTINCT,然后將您的SELECT更改為CTE以使用COUNT(*)

WITH numberedrows 
     AS (SELECT DISTINCT f_feeid_pk, 
                                f_code, 
                                f_description, 
                                f_fee, 
                                f_areaid_ind_fk, 
                                a_name_ind, 
                                p_name_ind, 
                                s_name_ind, 
                                b_name_ind, 
                                Row_number() 
                                  OVER ( 
                                    ORDER BY b_name_ind, s_name_ind, p_name_ind, 
                                  a_name_ind, f_code ASC) AS 
                                RowNumber 
         FROM   t_fee 
                INNER JOIN t_area 
                        ON f_areaid_ind_fk = a_areaid_pk 
                INNER JOIN t_project 
                        ON a_projectid_fk = p_projectid_pk 
                INNER JOIN t_section 
                        ON p_sectionid_fk = s_sectionid_pk 
                INNER JOIN t_branch 
                        ON s_branchid_fk = b_branchid_pk 
         WHERE  f_feeid_pk > 0) 
SELECT COUNT(*) FROM numberedrows;

暫無
暫無

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

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