zoukankan      html  css  js  c++  java
  • OCP-1Z0-051-V9.02-108题

    108. Which two statements are true regarding the COUNT function? (Choose two.)

    A. The  COUNT function can be used only for CHAR, VARCHAR2,  and NUMBER data types.

    B. COUNT(*) returns the number of rows including duplicate rows and rows containing NULL  value in

    any of the columns.

    C. COUNT(cust_id) returns the number of rows including rows with duplicate customer IDs and NULL

    value in the CUST_ID column.

    D. COUNT(DISTINCT inv_amt)returns the number of rows excluding排除在外 rows containing duplicates and

    NULL values in the INV_AMT column.

    E. A SELECT statement using the  COUNT function with a  DISTINCT keyword   cannot have a

    WHERE clause.

    Answer: BD
     
    答案解析:
    COUNT函数有以下三种格式:
    • COUNT(*)
    • COUNT(expr)
    • COUNT(DISTINCT expr)
    COUNT(*)用于返回表中符合SELECT语句标准的行数,包括重复行和在任何列中含有空值的行。
    如果SELECT语句中包含WHERE子句,则COUNT(*)会返回符合WHERE子句中条件的行数。
    相反,COUNT(expr)返回由expr标识的列中非空值的数量。
    COUNT(DISTINCT expr)返回由expr标识的列中不同非空值的数量。

     
    测试实验如下表:有两组一样的row,
    scott@TEST0924> select * from test;
     
         EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
    ----------     ----------      ---------        ----------      --------           - ---------- ---------- ----------
          7369 SMITH      CLERK           7902 17-DEC-80               800                        20
          7499 ALLEN      SALESMAN        7698 20-FEB-81          1600        300         30
          7521 WARD       SALESMAN        7698 22-FEB-81         1250        500         30
          7566 JONES      MANAGER         7839 02-APR-81         2975                         20
          7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
          7566 JONES      MANAGER         7839 02-APR-81         2975                         20
          7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
     
    7 rows selected.
     
    count(*)时,返回所有的行数,包括重复的,以及有空值的
     
    scott@TEST0924> select count(*) from test;
     
      COUNT(*)
    ----------
             7
    count(distinct comm) ,首先去掉重复的和空值的,然后总计行
    scott@TEST0924> select count(distinct comm) from test;
     
    COUNT(DISTINCTCOMM)
    -------------------
                      3
     
     

    COUNT returns the number of rows returned by the query. You can use it as an aggregate or analytic function.你可以用它作为一个聚合函数或解析函数

    If you specify DISTINCT, then you can specify only the query_partition_clause of theanalytic_clause. Theorder_by_clause and windowing_clause are not allowed.

    If you specify expr, then COUNT returns the number of rows whereexpr is not null. You can count either all rows, or only distinct values ofexpr.

    If you specify the asterisk (*), then this function returns all rows, including duplicates and nulls. COUNT never returns null.

  • 相关阅读:
    高位前缀和,求他的子集的和https://ac.nowcoder.com/acm/contest/4784/A
    Codeforces Global Round 7 E. Bombs
    高精度,乘法加法
    2018-ICPC-焦作区预赛
    状压dp,区间dp,矩阵快速幂
    树状数组,适用于单点修改,区间查询
    离散化函数
    带修莫队模版
    树链剖分 https://www.luogu.com.cn/problem/P3384
    HDU 1016 Prime Ring Problem【DFS】
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317182.html
Copyright © 2011-2022 走看看