SQL
Порядок операторов
Порядок операторов SQL-запроса
SELECT -- перечисление полей для результирующей таблицы
uid,
COUNT(*) AS NumRows
FROM -- источник данных
default.checks
WHERE -- фильтрация данных
uid != '12345'
GROUP BY -- группировка данных
uid
HAVING -- фильтрация данных, аналогично WHERE, при использовании GROUP BY
NumRows > 10 -- ссылаемся на алиас NumRows
AND SUM(clicks) > 100 -- добавляем еще одно условие, при этом не добавляем в SELECT
ORDER BY -- сортировка результирующей таблицы
rows DESC
LIMIT 100 -- ограничение на кол-во строк результирующей таблицы
Агрегатные функции
Агрегатные функции используются в блоке SELECT
и в качестве параметра принимают наименования поля. К ним относятся:
COUNT()
— количество значений поля; без параметра считает количество строк, с полем – количество безNULL
значений.COUNT (DISTINCT)
– количество уникальных значений поля;uniqExact()
иcount(DISTINCT)
– одно и тоже.AVG()
– вычисляет среднее.MIN()
– вычисляет минимальное значение.MAX()
– вычисляет максимальное значение.SUM()
– вычисляет сумму элементов.
ClickHouse: Перечень агрегатных функций.
Объединения таблиц
Ссылки на материалы:
Синтаксис ClickHouse
SELECT <expr_list>
FROM <left_table>
[GLOBAL] [INNER|LEFT|RIGHT|FULL|CROSS] [OUTER|SEMI|ANTI|ANY|ASOF] JOIN <right_table>
(ON <expr_list>)|(USING <column_list>) ...
INNER JOIN
INNER JOIN
— возвращаются только совпадающие строки. Без указания
типа JOIN
используется INNER
.