SQL Portal | Базы Данных
14.4K subscribers
610 photos
82 videos
41 files
503 links
Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных

Связь: @devmangx

РКН: https://clck.ru/3H4Wo3
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Как сгруппировать строки в пачки (batch), где сумма не превышает заданное значение — прямо в Oracle SQL

Используйте MATCH_RECOGNIZE:

SELECT ... FROM ... MATCH_RECOGNIZE (
ORDER BY ...
MEASURES ...
PATTERN ( total+ )
DEFINE total AS SUM ( ... ) <= ...
)


Например, можно разбить продажи по дате на группы, где суммарная выручка не превышает X.

Это похоже на "бин-пэкинг": ты просто собираешь строки в «ящики», пока сумма внутри ящика не превысит лимит

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥31
Google добавил ИИ-функции в Google Sheets

Теперь можно использовать ИИ прямо в таблицах: генерировать текст, анализировать тональность, а также суммировать и классифицировать информацию

1. Открой Google Таблицы и в ячейке напиши: =AI("запрос", [необязательный диапазон])

Выдели ячейку или ячейки с функцией AI и нажми «Сгенерировать и вставить»

2. Для генерации текста: =AI("Напиши короткий ответ на это сообщение с подходящим предложением.", B2:E2)

3 Для подведения итогов: =AI("Суммируй ключевые темы и закономерности из всех отзывов клиентов.", B2:B6)

4. Наконец, для классификации: =AI("Классифицируй как Положительный/Нейтральный/Отрицательный и задай приоритет: Высокий/Средний/Низкий.", B2)

Затем просто перетащи формулу вниз, чтобы применить её к нескольким ячейкам

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4
Внешние таблицы (External Tables) в Oracle — это отличный способ читать серверные файлы с помощью SQL.

А что делать, если нужно поменять файл, к которому идёт доступ?

Используй:

EXTERNAL MODIFY ( LOCATION ( 'new_file' ) )


Так ты можешь задать новый путь к файлу без пересоздания таблицы.

Также через MODIFY можно изменить:

—> направление чтения (например, последовательность)

—> лимит на количество ошибок (reject limit)

—> параметры доступа (access parameters)

Удобный способ динамически управлять внешними источниками прямо из SQL

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
SQLite прямо в HTML? Да, теперь так можно

Blink теперь поддерживает SQLite. Это значит:

SQL-запросы прямо в HTML-шаблонах
Вывод данных из базы на страницу
Обработка форм: add / edit / delete

Пока что это pet-проект, но уже мощный инструмент для минималистичных веб-приложений

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🌭2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Проверяйте данные с помощью pg_input_is_valid

Теперь можно использовать SQL и меньше кастомных скриптов для очистки и валидации данных при загрузке

Если вы хотите убедиться, что данные о клиентах содержат корректные числа и даты, можно вставлять только корректные строки, а некорректные — отфильтровывать таким SQL-запросом:

SELECT * FROM staging_customers 
WHERE NOT pg_input_is_valid(age, 'integer')
OR NOT pg_input_is_valid(signup_date, 'date');


👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5
Создание отчетов AWR Oracle Database прямо из SQLcl

📖 Читать: ссылка

👉 @SQLPortal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Группируйте отсортированные строки в пакеты ограниченного размера (бин-пэкинг) в Oracle SQL с помощью:

SELECT ... FROM ... MATCH_RECOGNIZE (
ORDER BY ...
MEASURES ...
PATTERN (total+)
DEFINE total AS SUM(...) <= ...
)


Например, можно сгруппировать продажи по дате в пакеты так, чтобы суммарное значение в каждом пакете было ≤ X

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Нашёл классную вещь — SQLCoder от Defog.ai

Это модель, которая переводит обычные вопросы в точные SQL-запросы

- Специализирован под SQL
- Открытый доступ (Hugging Face, ollama, transformers)
- Очень высокая точность на реальных задачах

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1
Шпаргалка по очистке данных SQL

👍 — спасибо

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24
Вред хранимых процедур

📖 Читать: ссылка

👉 @SQLPortal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
6
В Oracle SQL можно проверить, получится ли привести выражение к нужному типу данных, с помощью функции

VALIDATE_CONVERSION ( <expr> AS <datatype>, <fmt> )


Она пытается преобразовать выражение в указанный тип

Если формат не указан, используется формат сеанса (настройки NLS)

Возвращает 1, если преобразование удалось, и 0, если нет

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
Нашёл удобный сервис для быстрого запуска SQL-запросов онлайн — RunSQL

> Мгновенно пишешь и выполняешь SQL без установки ПО
> Поддержка PostgreSQL
> Можно быстро делиться своими запросами через ссылку
> Подходит для тестов, демонстраций и обучения

Просто открыл сайт — и сразу работаешь с базой. Минимализм и скорость

👍 — интересный проект

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124
This media is not supported in your browser
VIEW IN TELEGRAM
Группировать строки в последовательные 7-дневные блоки в Oracle SQL можно, округляя дату до начала недели:

TRUNC(dt, 'iw')


А если нужны непоследовательные группы, начинающиеся с даты следующего события?

Тогда используйте сопоставление шаблонов (MATCH_RECOGNIZE):

MATCH_RECOGNIZE (
...
PATTERN (init w7*)
DEFINE w7 AS dt < init.dt + 7
)


👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Недавно нашёл отличную книгу — "SQL Projects on Banking & Finance" от Dr. Eyo Eyo.

Это практическое пособие, где на реальных задачах из банковской и финансовой сферы учат писать SQL-запросы.
Внутри — 44 бизнес-сценария: от анализа транзакций и расчёта процентов по кредитам до поиска высокоценных клиентов

Рекомендую, если хотите перейти от "SELECT * FROM ..." к решению реальных бизнес-проблем 👍

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥112
This media is not supported in your browser
VIEW IN TELEGRAM
Хочешь удалить дубликаты строк в Oracle SQL?

Используй:

DELETE FROM ...
WHERE ROWID NOT IN (
SELECT MIN(ROWID)
FROM ...
GROUP BY col1, col2, ...
);


Укажи столбцы с дубликатами в выражении GROUP BY

Этот запрос сохраняет одну строку для каждого набора значений в списке и удаляет остальные

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥2
Руководство для начинающих по блокировкам в базах данных и явлению потерянного обновления

📖 Читать: ссылка

👉 @SQLPortal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2