Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!
Cотрудничество: @energy_c
РКН: https://clck.ru/3QREBc
Post #1374
2.45K

- 👍 12
- 🔥 9
- ❤ 6
SQ @sql_ready
Showing posts older than #1375 · Back to latest






В этой шпаргалке собраны основные приёмы работы с JSON и JSONB в PostgreSQL: доступ к элементам, извлечение вложенных данных, обновление значений, создание объектов, раскрытие массивов, форматирование и проверка вхождения. Эти инструменты позволяют удобно хранить и обрабатывать структурированные данные прямо в базе.
LAG(), она возвращает значение из предыдущей строки в рамках группы:LAG(status) OVER (PARTITION BY order_id ORDER BY updated_at)
status <> LAG(status) OVER (...)
true, когда статус поменялся.SELECT *
FROM (
SELECT order_id, status, updated_at,
status <> LAG(status) OVER (PARTITION BY order_id ORDER BY updated_at) AS changed
FROM order_status_log
) t
WHERE changed;






• Находим средние значения метрик;
• Считаем ковариацию и дисперсии;
• Собираем финальную формулу корреляции прямо в запросе.
WITHIN GROUP решает это, задавая порядок элементов внутри агрегатной функции.SELECT
category_id,
LISTAGG(product_name, ', ') WITHIN GROUP (ORDER BY total_sales DESC) AS top_products
FROM product_sales
GROUP BY category_id;
ARRAY_AGG(product_name ORDER BY ...), синтаксис WITHIN GROUP используется для ordered-set функций, а не для любых агрегатов.SELECT
region_id,
PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY total_amount) AS p90_sales
FROM orders
GROUP BY region_id;
PERCENTILE_CONT() и PERCENTILE_DISC() позволяют вычислять медиану или любое процентное значение без оконных функций.SELECT
store_id,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY total_amount) AS median_check
FROM orders
GROUP BY store_id;
NTILE() или RANK() в оконных выражениях.WITHIN GROUP, когда важен порядок в агрегатах.




В этой шпаргалке собраны основные приёмы работы с временными данными в SQL Server: создание, заполнение, очистка и удаление временных таблиц, а также использование табличных переменных. Эти методы помогают выполнять промежуточные расчёты, строить отчёты и оптимизировать сложные запросы без изменения основной схемы базы.





• Храним шаблоны фраз и ответы в таблице responses;
• Используем ILIKE, чтобы находить ключевые слова в сообщении;
• Возвращаем лучший ответ по приоритету совпадений.