Хотите видеть, как растут продажи день за днём или отслеживать баланс по пользователям? С функциями SQL можно посчитать нарастающий итог прямо в одном запросе.
Сегодня в посте:
• Считаем общий running total по датам.
• Считаем накопительные суммы отдельно для каждого пользователя.
• Контролируем диапазон расчёта с ROWS BETWEEN.
Это делает SQL-запросы компактными, наглядными и готовыми к использованию в отчётах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍10🔥7🤝3
При конкурентных изменениях данных важно исключить конфликты. Используем транзакции, блокировки строк и правильный уровень изоляции.
Создадим таблицу счетов:
CREATE TABLE Accounts (
id INT PRIMARY KEY,
name VARCHAR(50),
balance DECIMAL(10,2)
);
Начинаем транзакцию и блокируем строку:
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; -- защита от грязных чтений
BEGIN;
SELECT balance FROM Accounts
WHERE id = 1 FOR UPDATE; -- эксклюзивная блокировка строки
Выполняем перевод и фиксируем результат:
UPDATE Accounts SET balance = balance - 500 WHERE id = 1;
UPDATE Accounts SET balance = balance + 500 WHERE id = 2;
COMMIT; -- сохраняем изменения
Откат транзакции:
ROLLBACK; -- можно вызвать до COMMIT при ошибке
🔥
FOR UPDATE ставит row-level exclusive lock: другие транзакции ждут, пока вы завершите свою.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍15❤9
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍12🔥7🤝2
👋🏼 Приветствую!
Ровно год назад я создал этот канал и не только (не важно что 12 июля, главное первый пост был 8 сентября 😁).
Спасибо всем кто подписан на мой склчик, особенно благодарю тех, кто ставит реакции.
🖥 За это время контент намного стал лучше, с таких постов, до таких как сейчас.
Но кстати всё равно, раньше тоже круто было, можете перейти в закреп и там посмотреть на старые постики.
В общем, поздравляю сам себя с годовщиной!🥳
Ровно год назад я создал этот канал и не только (не важно что 12 июля, главное первый пост был 8 сентября 😁).
Спасибо всем кто подписан на мой склчик, особенно благодарю тех, кто ставит реакции.
Но кстати всё равно, раньше тоже круто было, можете перейти в закреп и там посмотреть на старые постики.
В общем, поздравляю сам себя с годовщиной!
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤32👍20🔥17
👍20🔥9🤝5👎2
Корзина есть, товары добавлены, но заказ так и не оформлен. Это и есть «брошенные» корзины, которые напрямую означают потерянные деньги.
Сегодня в задаче:
• Находим корзины, по которым заказ не был создан в течение 24 часов;
• Считаем их стоимость;
• Получаем статистику по пользователям, какой средний чек и сколько денег «ушло в никуда».
В результате получаем готовый инструмент для запуска ремаркетинга, персональных скидок и писем-напоминаний.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🤝9❤7
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь ты научишься создавать таблицы, фильтровать данные, использовать операторы и агрегатные функции — всё через увлекательные практические задания.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍13❤10🤝2