Контента на этой недели нет - всему виной мой трип с друзьями в Калининград🌊
На следующей неделе вернусь и буду делиться снова полезным материалом, а пока предлагаю посмотреть на развлекательный!
ps сегодня по планам депнуть в казике!
@data_driven_bogdan
На следующей неделе вернусь и буду делиться снова полезным материалом, а пока предлагаю посмотреть на развлекательный!
ps сегодня по планам депнуть в казике!
@data_driven_bogdan
❤18🔥2👾2
❤19🔥4😍3😁1
❤12🔥6🙊4
SQL-лайфхаки, которые экономят время
В SQL есть не только must have синтаксис, без которого ты не сможешь решить поставленную задачу, но есть и маленькие трюки, которые либо делают твою жизнь проще, либоты нихуя не понимаешь зачем люди это делают 😁 (ps первое время я долго был вторым в этой дихотомии)) )
1️⃣ GROUP BY и ORDER BY по номерам колонок
Иногда в SELECT лежат длиннющие названия полей, вычисления или CASE’ы - и повторять их в GROUP BY/ORDER BY просто максимально в падлу.
Есть классный лайфхак: использовать порядковые номера столбцов.
1 → первый столбец в SELECT
2 → второй столбец в SELECT и так далее
В чем value?
*️⃣ Короче
*️⃣ Легче читать
*️⃣ Легче рефакторить - поменял название поля в SELECT → ничего не упало
2️⃣ Запятая перед неймом колонки
Ставить запятую в начале строки — не баг, а фича😁
Эту штуку поначалу многие видят и думаю: «что за извращение?»
А потом спустя месяц — сами начинают так писать
Пример запроса:
И вот зачем это нужно 👇
Теперь мы можем быстро закомментить любой столбец:
Работает всегда, кроме первой строки — для этого выбираем первой ту, которую планируем оставлять в покое...
3️⃣ WHERE 1=1 / TRUE
Когда фильтров много, запрос превращается в кашу, где потеряться проще простого. А еще хуже — временно выключаешь один фильтр, ломаешь синтаксис, и потом 10 минут как дурачок ищешь, куда делся несчастный AND.
Пример запроса:
а теперь, если нужно что-то отключить, просто комментируешь:
И работает это всегда, вне зависимости от порядка фильтров.
В чем value?
*️⃣ Никаких синтаксических ошибок
*️⃣ Удобно включить/выключать фильтры
Пишите в комментах, какие приемы вы уже используете в своих запросах 👇
Подпишись и при желании поддержи канал бустом.
P.S. Сделать это можно здесь (для Premium — бесплатно).
А также ставь реакции:
🍌 — не знал, буду юзать
🍌 — использую все из этого
🍌 — все и так работает, так что оставь себе и не еби мозг
@data_driven_bogdan
В SQL есть не только must have синтаксис, без которого ты не сможешь решить поставленную задачу, но есть и маленькие трюки, которые либо делают твою жизнь проще, либо
Иногда в SELECT лежат длиннющие названия полей, вычисления или CASE’ы - и повторять их в GROUP BY/ORDER BY просто максимально в падлу.
Есть классный лайфхак: использовать порядковые номера столбцов.
SELECT
transaction_dt::date,
product_id,
COUNT(*) AS cnt_prd
FROM orders
GROUP BY 1, 2
ORDER BY 1;
2 → второй столбец в SELECT и так далее
В чем value?
Ставить запятую в начале строки — не баг, а фича
Эту штуку поначалу многие видят и думаю: «что за извращение?»
А потом спустя месяц — сами начинают так писать
Пример запроса:
SELECT
order_date
, frmt_id
, cheque_id
, SUM(price * qnt ) as revenue
FROM orders;
И вот зачем это нужно 👇
SELECT
order_date
-- , frmt_id
, cheque_id
, SUM(price * qnt ) as revenue
FROM orders;
Работает всегда, кроме первой строки — для этого выбираем первой ту, которую планируем оставлять в покое...
Когда фильтров много, запрос превращается в кашу, где потеряться проще простого. А еще хуже — временно выключаешь один фильтр, ломаешь синтаксис, и потом 10 минут как дурачок ищешь, куда делся несчастный AND.
Пример запроса:
WHERE 1=1
AND order_date >= '2025-01-01'
AND city = 'Moscow'
AND is_cancelled = 0
а теперь, если нужно что-то отключить, просто комментируешь:
WHERE 1=1
-- AND order_date >= '2025-01-01'
AND city = 'Moscow'
AND is_cancelled = 0
И работает это всегда, вне зависимости от порядка фильтров.
В чем value?
Пишите в комментах, какие приемы вы уже используете в своих запросах 👇
Подпишись и при желании поддержи канал бустом.
P.S. Сделать это можно здесь (для Premium — бесплатно).
А также ставь реакции:
@data_driven_bogdan
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9 8 7 3😁1 1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7