LEFT JOIN
Понятно про анализ данных, технологии, нейросети и, конечно, SQL. Услуги — leftjoin.ru Курсы по аналитике — https://stepik.org/users/431992492 Автор — @valiotti Реклама — @valiotti Перечень РКН: https://tapthe.link/PpkTHavwS
Show more📈 Analytical overview of Telegram channel LEFT JOIN
Channel LEFT JOIN (@leftjoin) in the Russian language segment is an active participant. Currently, the community unites 43 061 subscribers, ranking 3 122 in the Technologies & Applications category and 14 725 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 43 061 subscribers.
According to the latest data from 28 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -777 over the last 30 days and by -20 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 17.52%. Within the first 24 hours after publication, content typically collects 11.61% reactions from the total number of subscribers.
- Post reach: On average, each post receives 7 545 views. Within the first day, a publication typically gains 5 001 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 14.
- Thematic interests: Content is focused on key topics such as аналитика, sql, данными, datalens, csv.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Понятно про анализ данных, технологии, нейросети и, конечно, SQL.
Услуги — leftjoin.ru
Курсы по аналитике — https://stepik.org/users/431992492
Автор — @valiotti
Реклама — @valiotti
Перечень РКН: https://tapthe.link/PpkTHavwS”
Thanks to the high frequency of updates (latest data received on 29 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
SELECT
cardholder_id,
timestamp,
amount,
merchant_id,
timestamp - LAG(timestamp) OVER w AS time_since_last,
CASE WHEN merchant_id <> LAG(merchant_id) OVER w
THEN 'changed' ELSE 'same' END AS merchant_change,
sum(amount) OVER (
PARTITION BY cardholder_id
ORDER BY timestamp
RANGE BETWEEN INTERVAL '24 hours' PRECEDING AND CURRENT ROW
) AS running_24h_total,
ROW_NUMBER() OVER (
PARTITION BY cardholder_id, date(timestamp)
ORDER BY timestamp
) AS tx_of_day
FROM transactions
WINDOW w AS (PARTITION BY cardholder_id ORDER BY timestamp)
ORDER BY cardholder_id, timestamp;
И после этого уже прогонять проверки с помощью WHERE:
SELECT *
FROM tx_with_windows
WHERE tx_of_day >= 5
AND time_since_last < INTERVAL '60 seconds'
AND merchant_change = 'changed';
Главное — не переусердствовать и помнить, что каждый сигнал по отдельности, как правило, ничего не доказывает: и обычному человеку может понадобиться снять деньги с карты несколько раз подряд или сбегать в магазин посреди ночи. Чтобы отсеять честных пользователей от мошенников, нужно смотреть на несколько параметров в совокупности.Ночью он «спит», чтобы объединить все, чему научился, следит за вашими деплоями, пока вы на встречах, и разбирает вашу почту еще до того, как вы проснетесьВ общем, он может интегрироваться во все процессы и действовать автономно. Вкупе с излишне активным применением, чтобы угодить руководству, это вызывает опасения, что в какой-то момент он может сделать что-нибудь не то. Ждем новостей, как он снес базу и не оставил резервных копий по примеру Claude?
--Создаем таблицу и расставляем на ней фигуры — белые в двух верхних рядах, черные в нижних
DROP TABLE IF EXISTS board;
CREATE TABLE board (rank INTEGER, file INTEGER, piece TEXT);
INSERT INTO board (rank, file, piece) VALUES
(1, 1, '♖'), (1, 2, '♘'), (1, 3, '♗'), (1, 4, '♕'), (1, 5, '♔'), (1, 6, '♗'), (1, 7, '♘'), (1, 8, '♖'),
(2, 1, '♙'), (2, 2, '♙'), (2, 3, '♙'), (2, 4, '♙'), (2, 5, '♙'), (2, 6, '♙'), (2, 7, '♙'), (2, 8, '♙'),
(7, 1, '♟'), (7, 2, '♟'), (7, 3, '♟'), (7, 4, '♟'), (7, 5, '♟'), (7, 6, '♟'), (7, 7, '♟'), (7, 8, '♟'),
(8, 1, '♜'), (8, 2, '♞'), (8, 3, '♝'), (8, 4, '♛'), (8, 5, '♚'), (8, 6, '♝'), (8, 7, '♞'), (8, 8, '♜');
-- Превращаем таблицу в расчерченную доску 8х8
WITH full_board AS (
SELECT r.rank, f.file, b.piece
FROM (SELECT 1 AS rank UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8) r
CROSS JOIN (SELECT 1 AS file UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8) f
LEFT JOIN board b ON r.rank = b.rank AND f.file = b.file
)
SELECT
rank,
MAX(CASE WHEN file = 1 THEN COALESCE(piece, '·') END) AS a,
MAX(CASE WHEN file = 2 THEN COALESCE(piece, '·') END) AS b,
MAX(CASE WHEN file = 3 THEN COALESCE(piece, '·') END) AS c,
MAX(CASE WHEN file = 4 THEN COALESCE(piece, '·') END) AS d,
MAX(CASE WHEN file = 5 THEN COALESCE(piece, '·') END) AS e,
MAX(CASE WHEN file = 6 THEN COALESCE(piece, '·') END) AS f,
MAX(CASE WHEN file = 7 THEN COALESCE(piece, '·') END) AS g,
MAX(CASE WHEN file = 8 THEN COALESCE(piece, '·') END) AS h
FROM full_board
GROUP BY rank
ORDER BY rank DESC;
Чтобы передвинуть фигуру, надо удалить ее из старой клетки и вставить в новую:
DELETE FROM board WHERE rank = 2 AND file = 5; -- Пешка с е2…
INSERT INTO board VALUES (4, 5, '♙'); -- …перемещается на е4.
Готово, у вас есть SQL-шахматы, а значит, вам никогда не будет скучно на работе. Если играть не с кем, то можно разыграть в соло какую-нибудь классическую партию — автор идеи привел в своем блоге несколько примеров.
Available now! Telegram Research 2025 — the year's key insights 
