0

亲爱的,

我有以下查询,

select comp_code,branch_code,deal_no,LENGTH(deal_no)len_,start_date,num_of_skip_install,UPFRONT_PROFIT_Y_N,after_Status,product_class FROM AIBB_TEMP_SKIP_TABLE where comp_code = 1 and branch_code = 1010 order by comp_code,branch_code,len_ ,deal_no;

我想添加一个包含行数的新列。例如,如果查询将返回 28 个结果,我希望新列在所有行中显示 28

4

1 回答 1

4

count您可以按如下方式使用分析功能:

count(1) over () as total_rows --add this into the select list in your query

所以你的查询应该是这样的:

SELECT COMP_CODE,
       BRANCH_CODE,
       DEAL_NO,
       LENGTH(DEAL_NO) LEN_,
       START_DATE,
       NUM_OF_SKIP_INSTALL,
       UPFRONT_PROFIT_Y_N,
       AFTER_STATUS,
       PRODUCT_CLASS,
       COUNT(1) OVER () AS TOTAL_ROWS -- <-- ADDED THIS  
  FROM AIBB_TEMP_SKIP_TABLE
 WHERE COMP_CODE = 1
   AND BRANCH_CODE = 1010
 ORDER BY COMP_CODE,
          BRANCH_CODE,
          LEN_,
          DEAL_NO;
于 2020-06-16T08:23:31.480 回答