📜  Cassandra 中的聚合函数

📅  最后修改于: 2021-09-08 16:22:30             🧑  作者: Mango

在本文中,我们将讨论 Cassandra 中的聚合函数,这些函数可用于各种目的,例如计数、求最小值和最大值、求和等。

聚合函数:

1. Count
2. Max and Min
3. Sum 
4. Avg 

在 Cassandra 中,这些聚合函数是预定义或内置函数。 Cassandra 中的聚合函数处理一组行。聚合函数接收每一行的值,然后为整个集合返回一个值。如果普通列、标量函数、UDT 字段、WriteTime 或 TTL(生存时间)与聚合函数一起选择,则为它们返回的值将是与查询匹配的第一行的值。

让我们用例子来讨论:

要创建密钥空间,请使用以下 CQL 查询。

CREATE KEYSPACE test1 with replication =
{‘class’ : ‘SimpleStrategy’, ‘replication_factor’ : 1} ; 

要使用 test1 键空间,请使用以下 CQL 查询。

USE test1; 

使用以下 CQL 查询创建表。

CREATE TABLE Emp_record
 (
  E_id int PRIMARY KEY,
  E_score int,
  E_name text,
  E_city text
 ); 

将值插入表 Emp_record 使用以下 CQL 查询。

INSERT INTO Emp_record(E_id, E_score, E_name, E_city) 
       values (101, 85, ‘ashish’, ’Noida’);
INSERT INTO Emp_record(E_id, E_score, E_name, E_city) 
       values (102, 90, ‘ankur’, ’meerut’);
INSERT INTO Emp_record(E_id, E_score, E_name, E_city) 
       values (103, 99, ‘shivang’, ’gurugram’);
INSERT INTO Emp_record(E_id, E_score, E_name, E_city) 
       values (104, 85, ‘abi’, ’meerut’);
INSERT INTO Emp_record(E_id, E_score, E_city) 
       values (105, 95, ’mumbai’); 

要查看输出,请使用以下 CQL 查询。

Select * 
from Emp_record; 

E_id E_score E_name E_city
101 85 Ashish Noida
102 90 Ankur sharma meerut
103 95 Shivang Gurugram
104 85 Abishek Rana meerut
105 95 null mumbai

1.计数:
count函数用于计算查询返回的行数。

例子:

SELECT COUNT(*) 
FROM Emp_record; 

或者,为了获得相同的结果,我们可以使用 COUNT(1)。

SELECT COUNT(1) 
FROM Emp_record; 

输出:

5 

它还可以用于计算给定列的非空值。

例子:

SELECT COUNT(E_name) 
FROM Emp_record; 

输出:

4 

2. 最大值和最小值:
Max函数用于计算给定列的查询返回的最大值。
Min函数用于计算给定列的查询返回的最小值。

  • 示例 1:
    SELECT MIN(E_score) 
    FROM Emp_record; 

    输出:

    85 
  • 示例 2:
    SELECT MAX(E_score) 
    FROM Emp_record; 

    输出:

    95 

3. 总和:
sum函数是一个聚合函数,可用于对给定列的查询返回的所有值求和。

例子:

SELECT SUM(E_score) 
FROM Emp_record; 

输出:

450 

4. 平均:
avg函数是一个聚合函数,可用于计算给定列的查询返回的所有值的平均值。

例子:

SELECT AVG(E_score) 
FROM Emp_record; 

输出:

90