首页 > 解决方案 > Count selected rows

问题描述

Can I count rows with this way?

    SELECT COUNT(SERVICE_TYPE) INTO N_CNT FROM (
          SELECT RECIPIENT, SERVICE_TYPE, MPS_SWTCH_CD, MPS_FTR_CD1 FROM ABA_RM_INB_USAGE
                                                         WHERE SERVICE_TYPE = 100 AND
                                                               MPS_SWTCH_CD = 'T11' AND
                                                               MPS_FTR_CD1 = 1033);

标签: sqlstored-proceduresplsql

解决方案


您可以像这样计算行而不是列,关键字 INTO 是多余的,如果我修改您的查询,它将如下所示,

SELECT COUNT(SERVICE_TYPE) N_CNT FROM (
          SELECT RECIPIENT, SERVICE_TYPE, MPS_SWTCH_CD, MPS_FTR_CD1 FROM ABA_RM_INB_USAGE
                                                         WHERE SERVICE_TYPE = 100 AND
                                                               MPS_SWTCH_CD = 'T11' AND
                                                               MPS_FTR_CD1 = 1033)a;

您也可以在没有子查询的情况下进行计数

SELECT Count(*) N_CNT
FROM ABA_RM_INB_USAGE
WHERE SERVICE_TYPE = 100 AND
MPS_SWTCH_CD = 'T11' AND MPS_FTR_CD1 = 1033;

推荐阅读