在本文中,我们将讨论 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