Работа над ошибками по: 'Типы таблиц', 'View и Distribute движки'.

This commit is contained in:
mnoskov
2026-05-17 17:18:10 +03:00
parent fb29b369f6
commit 21aa48c237
2 changed files with 33 additions and 30 deletions
@@ -13,18 +13,24 @@ ENGINE = ReplicatedMergeTree(
ORDER BY tuple();
SELECT
user_id,
balance,
created_at
FROM (
SELECT
user_id,
toDecimal64OrNull(balance,2) AS balance,
toDateTime64OrNull(created_at, 3) AS created_at
FROM
mnoskov.raw_data1
)
WHERE
balance IS NOT NULL AND created_at IS NOT NULL;
-- Задание 2
CREATE TABLE events
CREATE TABLE mnoskov.events
ON CLUSTER clickhouse_cluster (
event_id String,
event_date String, -- форматы: "2023-01-01", "01.02.2023", "invalid"
@@ -42,18 +48,16 @@ SELECT * FROM mnoskov.events;
SELECT
event_id,
toDate(parseDateTimeBestEffortOrNull(event_date)) AS event_dates,
CASE
WHEN toDayOfMonth(parseDateTimeBestEffortOrNull(event_time)) = 1 THEN toHour(parseDateTimeBestEffortOrNull(event_time))
ELSE (toDayOfMonth(parseDateTimeBestEffortOrNull(event_time)) - 1) * 24 + toHour(parseDateTimeBestEffortOrNull(event_time))
END AS event_times,
toDateTime(parseDateTimeBestEffortOrNull(event_date)) + toIntervalHour(event_times) AS event_datetime
FROM
mnoskov.events
event_datetime
FROM (
SELECT
event_id,
parseDateTimeBestEffortOrNull(concat(event_date, ' ', event_time)) AS event_datetime
FROM
mnoskov.events
)
ORDER BY
event_dates;
-- Все преобразования с to... и parse... нашел тут https://clickhouse.com/docs/ru/sql-reference/functions/type-conversion-functions#toIntervalMonth.
-- explain analyze не работает, потэому не могу посмотреть насколько это эффективно, НО главное сам запрос работает.
event_datetime;
-- Задание 3
@@ -73,7 +77,7 @@ ORDER BY
SELECT
user_id,
count(*)
count(*) as user_actions_cnt
FROM
mnoskov.user_activity
WHERE