Агрегатные функции в Cassandra

Опубликовано: 17 Августа, 2021

В этой статье мы обсудим агрегатные функции в Cassandra, которые можно использовать для различных целей, таких как подсчет, нахождение минимума и максимума, суммы и т. Д.

Агрегатные функции:

 1. Подсчитайте
2. Макс. И мин.
3. Сумма 
4. Сред.

В Cassandra эти агрегатные функции являются предварительно определенными или встроенными функциями. Агрегатные функции в Cassandra работают с набором строк. Агрегатные функции получают значения для каждой строки, а затем возвращают одно значение для всего набора. Если обычные столбцы, скалярные функции, поля UDT, WriteTime или TTL (Time To Live) выбраны вместе с агрегатными функциями, возвращаемые для них значения будут значениями первой строки, соответствующей запросу.

Давайте обсудим на примере:

Для создания пространства ключей используется следующий CQL-запрос.

СОЗДАТЬ KEYSPACE test1 с репликацией =
{'class': 'SimpleStrategy', 'replication_factor': 1};

Чтобы использовать пространство ключей test1, используется следующий запрос CQL.

 ИСПОЛЬЗОВАТЬ test1;

Для создания таблицы использовался следующий CQL-запрос.

 СОЗДАТЬ ТАБЛИЦУ Emp_record
 (
  E_id int ПЕРВИЧНЫЙ КЛЮЧ,
  E_score int,
  E_name текст,
  E_city текст
 );

Для вставки значений в таблицу Emp_record используется следующий CQL-запрос.

 ВСТАВИТЬ Emp_record (E_id, E_score, E_name, E_city) 
       значения (101, 85, «ашиш», «Нойда»);
ВСТАВИТЬ Emp_record (E_id, E_score, E_name, E_city) 
       значения (102, 90, 'анкур', 'меерут');
ВСТАВИТЬ Emp_record (E_id, E_score, E_name, E_city) 
       значения (103, 99, 'шиванг', 'гуруграмма');
ВСТАВИТЬ Emp_record (E_id, E_score, E_name, E_city) 
       значения (104, 85, abi, meerut);
ВСТАВИТЬ Emp_record (E_id, E_score, E_city) 
       значения (105, 95, «мумбаи»);

Для просмотра вывода используется следующий запрос CQL.

 Выбирать * 
из Emp_record;

E_id E_score E_name E_city
101 85 Ашиш Нойда
102 90 Анкур Шарма Meerut
103 95 Шиванг Гуруграмма
104 85 Абишек Рана Meerut
105 95 ноль мумбаи

1. Подсчитайте:
Функция подсчета используется для подсчета строк, возвращаемых запросом.

Пример:

ВЫБРАТЬ СЧЕТЧИК (*) 
ОТ Emp_record;

В качестве альтернативы, чтобы получить тот же результат, мы можем использовать COUNT (1).

 ВЫБРАТЬ СЧЕТЧИК (1) 
ОТ Emp_record;

Выход:

 5

Его также можно использовать для подсчета ненулевого значения данного столбца.

Пример:

 ВЫБРАТЬ СЧЕТЧИК (E_name) 
ОТ Emp_record;

Выход:

 4

2. Макс. И мин.:
Функция Max используется для вычисления максимального значения, возвращаемого запросом для данного столбца.
Функция Min используется для вычисления минимального значения, возвращаемого запросом для данного столбца.

  • Пример-1:
     ВЫБРАТЬ МИН (E_score) 
    ОТ Emp_record;

    Выход:

     85
  • Пример-2:
     ВЫБРАТЬ МАКС. (E_score) 
    ОТ Emp_record;

    Выход:

     95

3. Сумма:
Функция суммы - это агрегатная функция, которую можно использовать для суммирования всех значений, возвращаемых запросом для данного столбца.

Пример:

 ВЫБРАТЬ СУММУ (E_score) 
ОТ Emp_record;

Выход:

 450

4. Среднее:
Функция avg - это агрегатная функция, которую можно использовать для вычисления среднего значения всех значений, возвращаемых запросом для данного столбца.

Пример:

 ВЫБРАТЬ СРЕДНЕЕ (E_score) 
ОТ Emp_record;

Выход:

 90